全部产品
Search
文档中心

轻量应用服务器:Windows实例中CPU使用率较高问题的排查及解决方法

更新时间:Jul 16, 2026

本文主要介绍Windows实例中CPU使用率较高问题的排查及解决方案。

问题现象

Windows实例中CPU使用率较高,即CPU使用率≥80%。

可能原因

CPU使用率较高可能有以下原因。

  • 实例遭到病毒木马入侵。

  • 实例中第三方杀毒软件运行。

  • 实例中应用程序异常、驱动异常、高I/O使用率或高中断处理的应用程序。

解决方案

步骤一:定位问题

在Windows实例中,可以通过任务管理器、资源监视器等工具定位CPU使用率过高的问题。本文以Windows Server 2022系统为例,介绍如何通过资源监视器定位CPU使用率较高的问题。

本文以Windows Server 2022系统资源监视器为例,介绍如何定位CPU使用率较高的问题。

  1. 使用VNC远程连接轻量应用服务器。具体操作,请参见通过救援远程连接(控制台)

  2. 在桌面底部单击搜索按钮,并输入资源监视器,单击确定

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

    选择 CPU 页签,在进程区域按 CPU 列排序,定位占用率较高的进程名称及对应 PID。

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

  5. 打开任务管理器,任务管理器的详细信息页签下,找到之前资源监视器查看到的异常进程名和对应的PID。右键单击进程名称,选择打开文件所在的位置(O),查看进程是否为恶意程序。

步骤二:分析处理

判断影响CPU使用率过高的进程属于正常进程或是异常进程,并按照下述相应步骤处理。

可能原因

具体操作

正常进程

一般情况下,当频繁访问业务,或由于Windows自身服务(如更新服务等)都可能会占用较高的网络流量和CPU 。

说明
  • Windows Server 2008或Windows Server 2012实例建议内存配置在2 GiB或者2 GiB以上。

  • 在使用Windows Server 2012的1 vCPU 1 GiB规格的实例时,Windows Update服务会自动更新,实例的CPU使用率也会突然升高,这是正常现象。

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

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

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

  • 若自身服务器配置较高,再去升级配置已无太大意义。架构方面也并非是服务器配置越高就越好。此时,您需要尝试进行应用分离,通过不同的服务器去承载不同的应用,同时对相关程序进行优化。

    比如数据库完全通过RDS来承载,减轻服务器本身的资源消耗和服务器内部大量的调用。而程序优化方面,您可以根据自身的配置状况进行调整,具体的操作有调整连接数、缓存配置、Web和数据库调用时的各项参数等。

异常进程

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

说明

若您无法判断进程是否为病毒或木马,建议将进程名称在网上进行搜索后确认。另外,建议您进行进程删除操作前,创建快照完成备份。具体操作,请参见手动创建单个快照

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

  • 使用MSconfig禁用所有非微软自带服务驱动,检查问题是否再次发生,具体操作请参考如何在Windows系统中执行干净启动

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

常见工具

以下是关于Windows系统中定位CPU使用率过高问题工具的简要说明。

任务管理器

任务管理器可以直观查看应用程序列表,定位占用 CPU 较高的应用程序。在任务管理器进程页签中,进程按 CPU 占用降序排列,可见 Antimalware Service Executable 占用 26.7% CPU 和 264.2 MB 内存,为当前最大 CPU 消耗进程。

在性能页面检查CPU使用率时,右键单击CPU使用率图示,单击将图形更改为(H) > 逻辑处理器(L)

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

资源监视器

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

CPU 利用率折线图中出现两次明显的使用率尖峰(当前整体利用率为 5%),运行环境为虚拟机(Intel Xeon Platinum,2 个虚拟处理器,基准速度 2.50 GHz)。

Process Explorer

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

Process Explorer 界面以树状列表展示当前系统所有进程,主要列包括 Process(进程名)、CPU(CPU 占用率)、Private BytesWorking SetPIDDescriptionCompany Name。底部状态栏显示系统整体资源占用,包括 CPU UsageCommit ChargeProcesses(进程总数)和 Physical Usage(物理内存使用率)。可在进程列表中选中目标进程,进一步检查其线程调用的 Call Stack 以定位问题驱动。

性能监视器

性能监视器(Performance Monitor)是Microsoft专业收集各个组件性能计数器的工具。对于系统CPU资源消耗,有多个Counter来检查。

Performance有如下三个核心参数。

  • \Processor(_Total)\% Processor Time:CPU执行非空闲线程的时间百分比。\Processor(_Total)\% Processor Time=\Processor(*)\% User Time+\Processor(*)\% Privileged Time.

  • \Processor(*)\% User Time:表示处理器用于执行程序代码的时间消耗,可以确定哪个应用程序或函数调用消耗了较多的时间。

  • \Processor(*)\% Privileged Time:应用程序在内核中执行系统调用(例如驱动、IRP,上下文切换等)操作的时间。如果操作系统花费多于30%的时间在Privileged Time,则说明实例正在进行高I/O吞吐相关的操作。

    % Privileged Time很高时,需要进一步检查% DPC Time% Interrupt Time以及Context Switches/sec的情况。