文档平台 云服务器 故障处理 性能相关故障 CPU 使用率过高(Windows 系统)

CPU 使用率过高(Windows 系统)

最近更新时间:2018-08-06 14:47:00

查看pdf

CPU 使用率过高,容易引起服务响应速度变慢、服务器登录不上等问题。可以使用 云监控,创建 CPU 使用率阈值告警,当 CPU 使用率超过阈值时,将及时通知到您。
CPU 使用率过高排查的步骤大致为:定位消耗 CPU 的具体进程,对 CPU 占用率高的进程进行分析。如果为异常进程,可能是病毒或木马导致,可以自行终止进程,或者使用安全软件进行查杀;如果是业务进程,则需要分析是否由于访问量变化引起,是否存在优化空间;如果是腾讯云组件进程,请 发起工单 联系我们进行进一步定位处理。
下面将介绍 Windows 系统如何定位 CPU 使用率过高的问题。

定位工具介绍

任务管理器:Windows 自带的应用程序和进程管理工具,展示有关电脑性能和运行软件的信息,包括运行进程的名称,CPU 负载,内存使用,I/O 情况,已登录的用户和 Windows 服务的信息。可以通过快捷键 CtrL+Shift+Esc,或开始菜单右键单击任务管理器,或运行中输入 taskmgr 的方式打开。
进程:系统上所有正在运行的进程的列表。
性能:有关系统性能的总体统计信息,例如总体 CPU 使用量和正在使用的内存量。
用户:当前系统上有会话的所有用户。
详细信息:进程选项卡的增强版,显示进程的 PID、状态、CPU/内存的使用情况等进程的详细信息。
服务:系统中所有的服务(包括并未运行的服务)。

问题定位及处理

CPU 使用率过高可能由硬件因素、系统进程、业务进程或者木马病毒等因素引起,下面介绍如何定位到占用 CPU 的具体进程以及对如何对进程进行分析处理。

  1. 登录到 Windows 服务器。
    说明:服务器负载较高时,远程连接可能失败,建议使用 VNC 方式登录到服务器。如何使用 VNC 方式登录Windows服务器详见登录 Windows 实例中 VNC 登录小节。

  2. 使用 Ctrl+Shift+Esc 或开始菜单右键单击任务管理器打开任务管理器,切换到详细信息 tab,单击 CPU 使进程按照 CPU 使用率降序排列。

  3. 分析占用 CPU 多的进程。占用 CPU 多的可能为系统、业务抑或是异常进程,下面将列举这三种情况该如何处理:

    1. 系统进程。
      当发现系统进程占用大量 CPU 资源时,需要仔细检查进程名,不少病毒会通过使用跟系统进程相似的名称,迷惑用户的眼睛。例如:svch0st.exe、explore.exe、iexplorer.exe,要仔细甄别。其次要注意检查这些进程对应的可执行文件对应的位置,系统进程一般位于 c:\windows\system32,并且会有完善的签名和介绍,在任务管理器对应的进程处右键,单击打开文件位置,可以查看具体可执行文件的位置。如果进程位置也不是在 c:\windows\system32 目录下,服务器可能中了病毒,请手动或者使用安全工具进行查杀。

      常见的系统进程有:System Idle Process(系统空间进程,显示CPU空闲时间百分比)、system(内存管理进程)、explorer(桌面和文件管理)、iexplore(微软的浏览器)、csrss(微软客户端/服务端运行时子系统)、svchost(系统进程,用于执行 DLL)、Taskmgr(任务管理器)、Isass(本地安全权限服务)等。

    2. 异常进程。如果占用大量 CPU 资源的是一些命名很奇怪的进程,可能为木马病毒进程。建议使用搜索引擎进行搜索确认,例如 xmr64.exe(挖矿病毒)等。确认后使用安全工具进行查杀。

    3. 业务进程。如果发现占用 CPU 资源的是您的业务进程(iis、httpd、php、java 等),建议进一步分析,例如当前业务量是否较大,则高负载时正常情况,建议考虑升级服务器配置;否则可以考虑业务程序是否存在优化空间,进行优化。