腾讯云centos服务器不能登录的解决过程

在腾讯云上申请了一个centos服务器,最基础的配置,1 核 1 GB 1 Mbps,50G硬盘,主要用来测试程序,练手用。在上面配置了一个mysql数据库,一直使用都没什么问题。

1 问题描述

过了个周末,周一上班,突然发现MySQL不能使用了,连接不上。使用SSH登录服务器查看,发现SSH也不能登录服务器了。到腾讯云控制台页面,查看服务器实例的状态,点击实例名,可以查看监控页面,里面会显示服务器实例的CPU、内网、外网、内存、硬盘等使用情况。

腾讯云centos服务器不能登录的解决过程_第1张图片

当时CPU使用率到了90%以上,最高99%,硬盘IO访问频繁,特别是读数据量非常大。

2 解决过程

2.1 重启服务器

想到重启服务器,看能不能解决问题,服务器重启之后,使用SSH可以登录进去,然后利用top命令查看进程、cpu使用等情况,结果没有发现异常,不过,很快就卡死了,SSH不能操作了。Mysql数据库也是一样,可启动服务器的时候,可以访问,很快就不能访问了。再次到腾讯云操作台查看服务器实例的监控页面,CPU使用率依然在90%以上,说明重启之后,问题没有解决。

2.2 百度查看CPU利用率高

利用度娘,查看腾讯云服务器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利用率高,需要发起工单,向腾讯工作人员求助。

自己分析了一下,应该是第一种情况,可能有异常的进程,占用了大量的CPU资源,仔细查看文档说明,其中有一句话,“CPU 使用率过高,容易引起服务器登录不上,此时可以尝试使用 VNC 登录的方式。使用 VNC 登录实例的方法详见 登录Linux 实例 相关小节。”

2.3 VNC登录服务器

回到服务器实例列表页面,在服务器实例信息的最右侧,操作列,点击登录。

腾讯云centos服务器不能登录的解决过程_第2张图片

在弹出页面,选择红色方框中的其他方式(VNC),输入密码,登录到服务器。

腾讯云centos服务器不能登录的解决过程_第3张图片

登录后,直接会显示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进程。

你可能感兴趣的:(运维)