系统极客一直在努力
专注操作系统及软件使用技能

Windows 系统中断 CPU 占用率高的原因与解决

CPU

如果你发现 Windows 任务管理器中「系统中断」的 CPU 占用率异常高,这通常表明操作系统遇到了硬件或驱动程序方面的问题。本文将向大家解释什么是「系统中断」,以及如何发现并解决由「系统中断」导致 Windows CPU 使用率异常升高的根本原因。

什么是 Windows 系统中断

在「任务管理器」中,虽然「系统中断」被显示为 Windows 进程,但它实际上并不是真正的进程。相反,它更像是一种代表,用于报告发生在较低系统层级的所有「中断」的 CPU 使用情况。

「任务管理器」中的「系统中断」
「任务管理器」中的「系统中断」

中断可能由软件或硬件触发,甚至可能来自处理器本身。当中断处理程序任务完成时,处理器会恢复被中断时的状态。Wikipedia 对系统中断的专业解释如下:

在计算机科学中,中断是指处理器接收到来自硬件或软件的信号,提示发生了某个事件,应该被注意,这种情况就称为中断。

通常,在接收到来自外围硬件(相对于中央处理器和内存)的异步信号,或来自软件的同步信号之后,处理器将会进行相应的硬件/软件处理。发出这样的信号称为进行中断请求(interrupt request,IRQ)。硬件中断导致处理器通过一个运行信息切换(context switch)来保存执行状态(以程序计数器和程序状态字等寄存器信息为主);软件中断则通常作为CPU指令集中的一个指令,以可编程的方式直接指示这种运行信息切换,并将处理导向一段中断处理代码。中断在计算机多任务处理,尤其是即时系统中尤为有用。这样的系统,包括运行于其上的操作系统,也被称为「中断驱动的」(interrupt-driven)。

中断是软件和硬件与 CPU 进行通信的一种方式。 例如,当你开始在键盘上打字时,相应的硬件和软件会向 CPU 发送中断,以触发对输入的处理。

打开 Windows 任务管理器,盯着「系统中断」的 CPU 使用率,狂敲一通键盘,观察 CPU 占用率的变化即可验证上述说法,你的理解也会加深。

中断还可以向 CPU 报告发生的错误,这可能导致「系统中断」的 CPU 使用率急剧上升。在一个健康、运行良好的 Windows 系统中,系统中断的 CPU 占用率通常会在 0.1% 到 2% 之间波动,具体取决于 CPU 的频率、所运行的软件和连接的硬件。在某些系统设置下,即使 CPU 使用率出现 3% 到 7% 的峰值,也可以被认为是在正常范围内。

解决系统中断 CPU 占用率高

如果「系统中断」持续占用超过 5% 到 10% 的 CPU 时,表示可能遇到了驱动程序或硬件问题。如果该问题不是长时间出现的普遍现象,可以先尝试:

  1. 重启系统
  2. 安装待处理的 Windows 更新
  3. 拔掉所有外部设备
  4. 执行恶意软件和病毒扫描

如果以上这些基本措施都无法解决问题,请尝试以下方法:

方法 1:拔下或禁用所有外部设备

USB 硬件常常是引起中断问题的罪魁祸首。你可以尝试拔掉所有 USB 外设,或者在「设备管理器」中禁用「通用串行总线控制器」,以阻止外部硬件对 CPU 的中断。

在「设备管理器」中,找到「通用串行总线控制器」条目。并禁用能找到的所有「USB 根集线器」条目:

设备管理器
禁用「通用串行总线控制器」

如果你使用的是外接 USB 鼠标和键盘,它们可能会停止运行,请务必保证有另一种方法重新启用设备。

对于台式计算机:检查是否有任何未使用的 SATA 线缆插入主板并将其移除。

方法 2:检查硬件驱动

要快速查明是否存在驱动程序问题,可以使用 DPC Latency Checker 这个小工具进行检查。延迟过程调用(DPC)是与系统中断相关的一个过程。当中断处理程序需要推迟一个低优先级的任务时,便会调用 DPC。

DPC Latency Checker 可以通过检查内核模式(Kernel mode)设备驱动程序的延迟,来分析系统是否能够正确处理实时音频或视频流。这是一种快速发现问题的方式,而且该工具无需安装。如果你看到出现红条,即由于延迟较高而导致的中断,那就意味着有问题。

DPC Latency Checker
使用 DPC Latency Checker 分析驱动程序驱动延迟

要找到驱动程序中断问题的根源,你得逐个回滚或更新驱动程序到最新版本,并不断通过 DPC Latency Checker 进行测试。

此外,也可以安装 LatencyMon 延迟监视器,以查找具有最高 DPC 计数的驱动程序文件。按下「开始/播放」按钮,然后切换到「驱动程序」选项卡,并按 DPC 计数对驱动程序文件进行排序。 请注意,计数随时间逐渐累积,请让它运行一段时间。

LatencyMon
使用 LatencyMon 查看驱动程序 DPC 计数

具有高 DPC 计数的驱动可能导致大量中断。

方法 3:禁用内部硬件设备

与其随机更新驱动程序,不如先禁用单个设备驱动程序以定位问题根源。在不更新驱动的情况下,我们也可以通过逐个禁用硬件设备的「排除法」来快速定位问题硬件或驱动。

使用Windows + R打开「运行」— 执行devmgmt.msc打开设备管理器,对硬件进行逐个禁用并在 DPC Latency Checker 或任务管理器中观察「系统中断」的情况,进行逐一排除。

可能出问题的硬件主要有:

  • 网卡
  • 内置调制解调器
  • 内置声卡设备
  • 其它外置设备,如电视调谐卡、ISDN 或 DSL 适配器等

切记不要在设备管理器里禁用或卸载系统必需的设备和驱动程序,如果连处理器、显卡、安装系统的硬盘、IDE 控制器或显示器等必需品都去禁,乐子可就大了。

方法 4:排除硬件故障

驱动能导致系统中断问题,硬件物理故障就更是如此了。在此种情况下,随你怎么换驱动都不足以解决问题,所以必需要检测出损坏的部件进行更换。

性能监视器
性能监视器

系统中断也可能是由电源或笔记本电脑充电器故障引起的,请尝试更换或拔下它。

方法 5:禁用音效

如果「系统中断」造成的 CPU 占用率过高的是 Windows 7 PC,还需要先排除是由系统音效造成的问题。大家可以先点击任务栏中的喇叭图标,在播放设备属性配置中禁用所有音效看看。

方法 6:刷新主板 BIOS/UEFI 固件

BIOS/UEFI 是系统开机时引导硬件的首要模块,此后才会将硬件控制权交给操作系统,所以在排除中断问题时应当先去 PC 厂商看看有没可更新的固件版本,一般更新固件都可以解决很多设备底层的驱动 Bug 和问题。

如下两条命令可以帮助我们快速查看当前 PC 的 BIOS 版本:

systeminfo | findstr /I /c:bios
wmic bios get manufacturer, smbiosbiosversion

刷 BIOS 必需务必小心,版本一定要正确并不能设备断电,更新 BIOS 的风险请各位自担哦!!!

命令提示符
使用「命令提示符」查看当前设备的 BIOS 版本

系统中断可能有多种原因,但在大多数情况下,重启计算机通常就能够解决问题。如果在重新启动后问题仍然存在,希望上述步骤能够帮助你解决困扰。

以上只是解决 Windows 「系统中断」问题的一般步骤和方面,对于不同场景下的系统中断问题可能会非常棘手,大家自求多福吧 ^_^!!

赞(24) 赞赏

评论 6

  1. #4

    如果这个不是进程,那么是否可以从根源上解决哪?比如禁用这个沟通机制

    Back_to_19693年前 (2022-02-10)回复
  2. #3

    戴尔主机,更新BIOS后解决。感谢。

    weicheng4年前 (2020-07-31)回复
  3. #2

    谢谢

    Henry5年前 (2020-06-04)回复
  4. #1

    我对更新BIOS有些疑问,如果我更新了计算机主板 BIOS会不会导致下次全新安装windows的时候发生激活失败的情况。

    絮沫纷飞9年前 (2016-05-23)回复
    • 用命令查看BIOS版本真的是一个不错的选择,之前都是每次自己进BIOS查看,哈,省了很多的麻烦。

      絮沫纷飞9年前 (2016-05-23)回复
    • 只要不直接更换主板这类大件,一般更换硬盘、内存之类的小件或外设以及刷BIOS都不会影响到原有的激活。万一你非常「不幸」,也不用担心,可以拨打800-820-3800告诉客服原因,要求为你重置激活设备。前提是你的licensen必需合法!

      海猴子9年前 (2016-05-23)回复

微信赞赏