在腾讯云上申请了一个centos服务器,最基础的配置,1 核 1 GB 1 Mbps,50G硬盘,主要用来测试程序,练手用。在上面配置了一个mysql数据库,一直使用都没什么问题。mysql
1 问题描述sql
过了个周末,周一上班,忽然发现MySQL不能使用了,链接不上。使用SSH登陆服务器查看,发现SSH也不能登陆服务器了。到腾讯云控制台页面,查看服务器实例的状态,点击实例名,能够查看监控页面,里面会显示服务器实例的CPU、内网、外网、内存、硬盘等使用状况。数据库
当时CPU使用率到了90%以上,最高99%,硬盘IO访问频繁,特别是读数据量很是大。centos
2 解决过程服务器
2.1 重启服务器测试
想到重启服务器,看能不能解决问题,服务器重启以后,使用SSH能够登陆进去,而后利用top命令查看进程、cpu使用等状况,结果没有发现异常,不过,很快就卡死了,SSH不能操做了。Mysql数据库也是同样,可启动服务器的时候,能够访问,很快就不能访问了。再次到腾讯云操做台查看服务器实例的监控页面,CPU使用率依然在90%以上,说明重启以后,问题没有解决。优化
2.2 百度查看CPU利用率高spa
利用度娘,查看腾讯云服务器CPU利用率高,给出一个页面https://cloud.tencent.com/developer/information/%E6%9C%8D%E5%8A%A1%E5%99%A8cpu%E5%88%A9%E7%94%A8%E7%8E%87%E9%AB%98,点击进入以后,有一个“CPU 使用率太高(Linux 系统)”连接,点击进入https://cloud.tencent.com/document/product/213/14634,里面对CPU利用率太高的分析过程和解决办法进行了描述。命令行
腾讯将服务器CPU利用率太高归结为三个状况,一种状况是有异常进程,多是木马或者病毒,须要使用top命令,查看哪一个进程占用了CPU,而后使用kill命令结束异常进程。第二种状况是业务量大,也就是说服务器承担的业务过多,访问量大,服务器负载大,承受不住,须要优化代码或者扩容。第三种状况是腾讯的组件进程,可能引发CPU利用率高,须要发起工单,向腾讯工做人员求助。orm
本身分析了一下,应该是第一种状况,可能有异常的进程,占用了大量的CPU资源,仔细查看文档说明,其中有一句话,“CPU 使用率太高,容易引发服务器登陆不上,此时能够尝试使用 VNC 登陆的方式。使用 VNC 登陆实例的方法详见 登陆Linux 实例 相关小节。”
2.3 VNC登陆服务器
回到服务器实例列表页面,在服务器实例信息的最右侧,操做列,点击登陆。
在弹出页面,选择红色方框中的其余方式(VNC),输入密码,登陆到服务器。
登陆后,直接会显示top命令以后的信息,最下面有一段信息,提示进程22929有异常,须要将该进程关闭,点击q退出top信息显示,而后输入kill -9 22929,关闭进程。
再回到服务器实例的监控页面,CPU利用率立刻就下来了,使用率不到10%,而后使用SSH登陆服务器,正常登陆。链接mysql数据库,也可以正常链接,问题获得解决。
3 总结
第一次碰到不能登陆SSH的问题,按照重启服务器,腾讯云的帮助文档,多方尝试,最终,利用VNC登陆服务器,按照提示信息,关闭异常进程,将问题解决。
备注:top命令简单操做
输入top以后,会显示cpu、内存、进程等相关信息。
Shift+t:按照cpu使用率排序进程
Shift+m:按照内存使用率排序进程
q:退出,回到命令行
kill -9 -xxx:结束xxx进程。