如果你发现 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% 之间浮动,峰值不超过 7% 也被认为在可接受的正常范围,当然这也取决于你所使用的 CPU 频率、运行的软件和所连接的硬件。
解决「系统中断」CPU 使用率高
如果「系统中断」对 CPU 的占用持续超过 5% – 10%,就可以怀疑当前系统涉及驱动程序或硬件问题。如果该问题不是长时间出现的普遍现象,可以先尝试重启操作系统进行解决;如果有待处理的 Windows 更新,请安装它们;你还可以运行恶意软件和病毒扫描程序,以其排除恶意软件的干扰。
如果这些基本措施都没有帮助,请从这里开始:
1.拔下或禁用所有外部设备
USB 硬件是引起中断的一个常见罪魁祸首,你可以尝试拔掉所有 USB 外设,或者在「设备管理器」中禁用「通用串行总线控制器」,即阻止外部硬件中断 CPU。
在「设备管理器」中,找到「通用串行总线控制器」条目。并禁用可以找到的所有「USB 根集线器」条目:
禁用「通用串行总线控制器」
如果你使用的是外接 USB 鼠标和键盘,它们可能会停止运行,请务必保证有另一种方法重新启用设备。
对于台式计算机:检查是否有任何未使用的 SATA 线缆插入主板并将其移除。
2.检查硬件驱动
要想快速确认是否由驱动程序造成的问题,可以使用 DPC Latency Checker 这个小工具进行检查。延迟过程调用(DPC)与系统中断的处理相关, 当中断处理程序需要延迟一个低优先级的任务时,便会调用 DPC。
DPC Latency Checker 可以通过实时音、视频流来分析当前系统是否能妥善处理内核态设备驱动的延迟,它是快速找出驱动问题的好帮手,而且无需安装,如果你看到出现红条则表示有高延迟。
使用 DPC Latency Checker 分析驱动程序驱动延迟
要找到驱动程序中断问题的根源,你得逐个回滚或更新驱动程序到最新版本,并不断通过 DPC Latency Checker 进行测试。
此外,大家也可以安装 LatencyMon 这款延时监控软件,以查找具有最高 DPC 计数的驱动程序文件。按「开始/播放」按钮,然后切换到「驱动程序」选项卡,并按 DPC 计数对驱动程序文件进行排序。 请注意,计数会随着时间的推移而累积数据,请让它运行一段时间。
使用 LatencyMon 查看驱动程序 DPC 计数
具有高 DPC 计数的驱动可能导致大量中断。
3. 禁用内部硬件设备
与其随机更新驱动程序,不如先禁用单个设备驱动程序以定位问题根源。在不更新驱动的情况下,我们也可以通过逐个禁用硬件设备的「排除法」来快速定位问题硬件或驱动。
使用Windows + R打开「运行」— 执行devmgmt.msc打开设备管理器,对硬件进行逐个禁用并在 DPC Latency Checker 或任务管理器中观察「系统中断」的情况,进行逐一排除。
可能出问题的硬件主要有:
- 网卡
- 内置调制解调器
- 内置声卡设备
- 其它外置设备,如电视调谐卡、ISDN 或 DSL 适配器等
千万不要在设备管理器里禁用或卸载系统必要的设备和驱动程序,如果连处理器、显示适配器、运行系统的磁盘驱动器、IDE 控制器或显示器等必需品都禁掉,麻烦可就大了。
4. 排除硬件故障
驱动能导致系统中断问题,硬件物理故障就更是如此了。在此种情况下,随你怎么换驱动都无法解决问题,所以必需要对损坏的部件检测后进行更换。
硬件故障的检测不在本文范围内,在此只提醒大家,有故障的电源或移动电源也可能会造成中断问题,在排除硬件故障时建议先确保电源正常。
性能监视器
注意:系统中断也可能是由电源或笔记本电脑充电器故障引起的,请尝试更换或拔下它。
5. 禁用音效
如果「系统中断」造成的 CPU 使用率过高的是 Windows 7 PC,还需要先排除是由系统音效造成的问题。大家可以先点击任务栏中的喇叭图标,在播放设备的属性配置中禁用所有音效看看。
6. 更新主板BIOS
BIOS 是系统开机时驱动硬件的首要模块,此后才会将硬件控制权交给操作系统,所以在排除中断问题时应当先去 PC 厂商看看有没可更新的 BIOS 版本,一般 BIOS 版本的更新都可以解决很多设备底层的驱动 Bug 和问题。
如下两条命令可以帮助我们快速查看当前 PC 的 BIOS 版本:
systeminfo | findstr /I /c:bios
wmic bios get manufacturer, smbiosbiosversion
刷 BIOS 必需务必小心,千万要版本正确并不能设备断电,更新 BIOS 的风险请各位自担哦!!!
使用「命令提示符」查看当前设备的 BIOS 版本
以上只是解决 Windows 「系统中断」问题的一般步骤和方面,对于不同场景下的系统中断问题可能会非常棘手,大家自求多福吧 ^_^!!