简介

本文档介绍因云服务器CPU或内存占用过高,导致无法登录Windows和Linux云服务器实例的排查方法和解决方案。

排查思路

1.登录实例定位消耗CPU或内存的具体进程。

2.对CPU或内存占用率高的进程进行分析。

·如果是异常进程,可能是病毒或木马导致,您可以自行终止进程,或者使用安全软件进行查杀。

·如果是业务进程,则需要分析是否由于访问量变化引起,是否存在优化空间。

·如果是腾讯云组件进程,请提交工单联系我们进行进一步定位处理。

故障定位及处理

针对Windows服务器

使用VNC方式登录云服务器

说明:

由于云服务器负载高时会导致无法建立远程连接,推荐使用VNC方式登录Windows实例。

1.登录云服务器控制台。

2.在实例的管理页面,找到目标云服务器实例,单击【登录】。如下图所示:

5f60ad4552555b6df4833b7ebd4443ed.png

3.在弹出的“登录Windows实例”窗口中,选择【其它方式(VNC)】,单击【立即登录】,登录云服务器。

4.在弹出的登录窗口中,选择左上角的“发送远程命令”,单击Ctrl-Alt-Delete进入系统登录界面。如下图所示:

bcb847706392a7035cf94195c38eb0bb.png

查看进程占用情况

1.在云服务器中,右键单击“任务栏”,选择【任务管理器】。如下图所示:

b58889291ea6cb7579c99006081e963c.png

2.在打开的“任务管理器”中,即可查看资源占用情况。如下图所示:

86ec79a3313ea9959210cf9a92fa28cf.png

说明:

您可单击CPU或内存,以升序/降序对进程进行排序。

进程分析

根据任务管理器中的进程,分析与排查问题,以采取对应解决方案。

占用大量CPU或内存资源的进程为系统进程

如果您发现系统进程占用了大量CPU或内存资源,请排查以下内容:

1.检查进程名称。

部分病毒会使用与系统进程相似的名称,例如svch0st.exe、explore.exe、iexplorer.exe等。

2.检查进程对应的可执行文件的所在位置。

系统进程一般位于C:WindowsSystem32目录下,并且会有完善的签名和介绍。您可以在任务管理器中,右键单击待查看的进程,选择【打开文件位置】,即可查看具体可执行文件的位置。例如svchost.exe。如下图所示:

cbb33edf9fa3e97a68e0633ee309f2d6.png

·如果进程位置不在C:WindowsSystem32目录下,则表示该云服务器可能中了病毒,请手动或者使用安全工具进行查杀。

·如果进程位置在C:WindowsSystem32目录下,请重启系统或关闭不需要且安全的系统进程。

常见的系统进程如下:

·System Idle Process:系统空间进程,显示CPU空闲时间百分比

·system:内存管理进程

·explorer:桌面和文件管理

·iexplore:微软的浏览器

·csrss:微软客户端/服务端运行时子系统

·svchost:系统进程,用于执行DLL

·Taskmgr:任务管理器

·Isass:本地安全权限服务

占用大量CPU或内存资源的进程为异常进程

如果您发现一些命名很奇怪的进程占用了大量CPU或内存资源,则可能为木马病毒进程,例如xmr64.exe(挖矿病毒)等。建议您使用搜索引擎进行搜索,确认是否为木马病毒进程。

·如果是木马病毒进程,请使用安全工具进行查杀,必要时考虑备份数据,重装系统。

·如果不是木马病毒进程,请重启系统或关闭不需要且安全的进程。

占用大量CPU或内存资源的进程为业务进程

如果您发现业务进程占用了大量CPU或内存资源,例如IIS、HTTPD、PHP、Java等,建议进一步分析。

例如,判断当前业务量是否较大。

·若业务量较大,建议您升级服务器配置;若不升级服务器配置,可以考虑业务程序是否存在优化空间,请进行优化。

·若业务量不大,则需要进一步结合业务报错日志来分析。例如,参数配置不当导致空耗资源。

占用大量CPU或内存资源的进程为腾讯云组件进程

请提交工单联系我们进行进一步定位处理。

针对Linux服务器

登录云服务器

根据实际需求,选择不同的登录方式登录云服务器。

·通过第三方软件远程登录Linux云服务器。

注意:

Linux云服务器处于CPU高负荷状态时,可能出现无法登录状态。

·使用VNC登录Linux实例。

注意:

Linux云服务器处于CPU高负荷状态时,控制台可以正常登录。

查看进程占用情况

执行以下命令,查看系统负载,并根据%CPU列与%MEM列,确定占用较多资源的进程。

top

分析进程

根据任务管理器中的进程,分析与排查问题,以采取对应解决方案。

·如果是业务进程占用了大量CPU或内存资源,建议分析业务程序是否有优化空间,进行优化或者升级服务器配置。

·如果是异常进程占用了大量CPU或内存资源,则实例可能中毒,您可以自行终止进程或者使用安全软件进行查杀,必要时考虑备份数据,重装系统。

·如果是腾讯云组件进程占用了大量CPU或内存资源,请提交工单联系我们进行进一步定位处理。

常见的腾讯云组件有:sap00x:安全组件进程

Barad_agent:监控组件进程

secu-tcs-agent:安全组件进程

终止进程

1.根据分析的占用资源的进程情况,记录需要终止的进程PID。

2.输入k。

3.输入需要终止进程的PID,按Enter。如下图所示:

此处以终止PID为23的进程为例。

0f6025db6a39aa9f81d57157c4ddab82.png

注意:

若按Enter后出现kill PID 23 with signal[15]:,则继续按Enter保持默认设定即可。

操作成功后,界面会出现Send pid 23 signal[15/sigterm]的提示信息,按Enter确认即可。

其它相关故障

CPU空闲但高负载情况处理

问题描述

Load average是CPU负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。

通过top观察,类似如下图所示,CPU很空闲,但是load average却非常高。

ddf86f31aec29160ce5fe15f629c72bf.png

处理办法

执行以下命令,查看进程状态,并检查是否存在D状态进程。如下图所示:

ps-axjf

90ba92cff3bb724f1ce9f3b9cc59ad34.png

说明:

D状态指不可中断的睡眠状态。该状态进程无法被杀死,也无法自行退出。

若出现较多D状态进程,可通过恢复该进程依赖资源或重启系统进行解决。

swapd0进程占用CPU较高处理

问题描述

Linux系统通过分页机制管理内存的同时,将磁盘的一部分划出来作为虚拟内存。而kswapd0是Linux系统虚拟内存管理中负责换页的进程。当系统内存不足时,kswapd0会频繁的进行换页操作。换页操作非常消耗CPU资源,导致该进程持续占用高CPU资源。

处理办法

1.执行以下命令,找到kswapd0进程。

top

2.观察kswapd0进程状态。

若持续处于非睡眠状态,且运行时间较长并持续占用较高CPU资源,请执行如下步骤3,查看内存的占用情况。

3.执行vmstat,free,ps等指令,查询系统内进程的内存占用情况。

根据内存占用情况,重启系统或终止不需要且安全的进程。如果si,so的值也比较高,则表示系统存在频繁的换页操作,当前系统的物理内存已经不能满足您的需要,请考虑升级系统内存。

Logo

更多推荐