合作伙伴社区股票代码:838758石基信息成员企业
首页>案例中心>云服务器中CPU使用率较高的排查及解决方法
2021-11-10 18:05  |  
1254

问题说明:

云服务器中CPU使用率较高问题的排查及解决方法。通常CPU使用率较高可能的原因有,病毒木马入侵、第三方杀毒软件运行、应用程序异常、驱动异常、高I/O使用率或高中断处理的应用程序等。

解决方法:

方法1:定位问题。

找到影响CPU使用率过高的具体进程。微软有多个工具可以定位CPU使用率过高的问题,例如任务管理器、资源监视器(Resource Monitor)、性能监视器(Performance Monitor)、Process Explorer、Xperf(Windows server 2008 以后)、KernRate(Windows server 2003),抓取系统Full Memory Dump进行检查。在流量大的情况下,您还可以使用Wireshark抓取一段时间的网络包,分析流量使用情况。

1)在桌面底部单击开始菜单,选择 运行。打开运行框后,在框中输入perfmon -res,并单击 确定。



2)在资源监视器页面中,查看各进程是否有CPU使用率过高的现象。



3)针对占用资源较高的进程,查看对应的进程ID和进程的程序名。

4)定位进程ID后,结合任务管理器判断程序是否异常并定位程序的具体位置。

a.定位异常进程前,需要在任务管理器中依次单击查看选择列。



b.在弹出的框中选择 PID(进程标识符),单击 确定。



c.在任务管理器的进程页面中,将会增加PID这一项。单击 PID,通过排序,找到之前资源监视器查看到的异常进程。右键单击进程名称,选择打开文件位置,查案进程是不是恶意程序。

方法2:分析处理。

需要判断影响CPU使用率过高的进程,属于正常进程还是异常进程,并分类进行处理。

1)正常使用率过高的分析处理。

正常情况下,当客户频繁访问业务,或由于Windows自身服务(更新服务等)都可能会占用较高网络流量和CPU 。针对正常进程导致的CPU使用率过高的情况,请按照如下顺序逐一进行排查。

a.检查后台是否有执行Windows Update的行为。

b.建议在服务器上安装杀毒软件,进行杀毒。如有安装杀毒软件,请检查CPU飙高时,杀毒软件是否在后台执行扫描操作。如果可能,请升级杀毒软件到最新版本,或者删除杀毒软件。

c.检查该ECS内应用程序是否有大量的磁盘访问、网络访问行为或高计算需求。通过尝试增配实例规格的方式,使用更多核数或内存的规格来解决资源瓶颈问题,如升级配置。

d.若自身服务器配置较高,再去升级配置已经没有太大意义。架构方面也并非是服务器配置越高就越好。此时,您需要尝试进行应用分离,同时对相关程序进行优化。示例说明如下。

2)异常使用率过高的分析处理。

对于CPU异常使用率过高的情况,可能是被恶意病毒、木马入侵导致的。有时三方恶意程序可能会利用操作系统的svchost.exe或者Tcpsvcs.exe来伪装,引起高CPU的占用。您需要手动对异常进程进行查杀。

a.使用商业版杀毒软件,或使用微软免费安全工具Microsoft Safety Scanner,在安全模式下进行扫描杀毒。

b.运行Windows Update来安装最新的微软安全补丁。

c.使用MSconfig禁用所有非微软自带服务驱动,检查问题是否再次发生。

d.若服务器或站点遭受DDoS攻击或CC攻击等,短期内产生大量的访问需求。您可以登录云安全中心,查看云盾中的防护DDoS攻击是否调整好阈值,并核实是否开启CC防护。如果攻击没有触发到阈值,云盾没有清洗,可以联系阿里云售后协助开起清洗。

方法3:解决流程。

1)CPU使用率较高时,检查后台是否正在执行Windows Update的进程。

2)检查杀毒软件在后台是否正在执行扫描操作。可以升级杀毒软件到最新版本,或者删除杀毒软件。

3)单击 运行,然后输入 MSCONFIG,禁用所有非Microsoft自带服务驱动,然后检查问题是否再次发生。

4)使用商业版杀毒软件或Microsoft安全扫描程序在安全模式下扫描杀毒。

5)运行Windows Update安装最新Microsoft安全补丁。

6)当ECS实例有大量的磁盘访问、网络访问和高计算需求时,CPU使用率较高是正常现象,可以通过升级实例规格的方式以应对资源不足问题。

7)任务管理器。

a.直观检查应用程序列表,定位占用CPU较高的应用程序,如下是任务管理器页面。



b.在性能页面检查CPU使用率时,右键单击CPU使用率图示,单击 将图形更改为 > 逻辑处理器。如下图显示了4个逻辑CPU的使用率。



c.当单个进程的CPU使用率飙升至接近100%时,而其它进程的CPU使用率变化不大,则可能是网络I/O处理造成的。

8)资源监视器。直观检查CPU使用率,还可以通过句柄和模块搜索对应的进程。



9)Process Explorer。Process Explorer是一款Microsoft Sysinternals工具,通过配置正确的Symbols,检查对应应用程序的线程调用的Call Stack,用以定位可能的问题驱动。



分享:

市场活动
其他新闻
产品案例


快速询价

在线咨询

在线留言