如何防止系统中断消耗 CPU

如何防止系统中断消耗 CPU

我的 Toshiba Satellite L505D-S5965 上安装了 Windows 8.1 Pro N x64,任务管理器中有一个进程占用了我的 CPU。它叫做系统中断并且它占用了 1%-29% 的 CPU 功率(变化很大)。我听说这是 AMD 硬件导致的,所以我卸载并重新安装了 ATI Radeon 3100 显卡,但系统中断仍然存在。我还卸载并重新安装了 Realtek RTL8187SE Wifi 卡,但没有用。我还看到我应该安装 Process Explorer,它可以帮助我查看导致问题的原因,但我不知道应该在哪里查找。如何防止系统中断使用过多的 CPU?

答案1

“系统中断”实际上不是一个进程,即使它出现在“详细信息”选项卡的进程列表中。中断不归属于任何特定进程。任务管理器只是以这种方式显示它以给它贴上标签。

高中断率通常是由以下原因造成的:

  1. 活动量很大的 I/O 设备。评论者询问您的磁盘是否非常繁忙 - 是吗?如果是,请使用“性能”选项卡的“磁盘”列查看谁在执行大量磁盘 I/O。或者可能是网络 I/O。

  2. 不稳定的 I/O 设备(可能是任何东西。我曾经遇到过类似的问题,是由不稳定的 USB 闪存卡读卡器引起的。据报道,这花费了 USB 主控制器驱动程序的时间,但 HC 或其驱动程序没有任何问题。

  3. 存在错误的 I/O 设备驱动程序。

Process Explorer 无法解决这个问题,因为时间都花在内核模式上,而 Process Explorer 不会显示内核模式堆栈。

诊断此问题的一种方法是移除(或者,如果不可移除,则禁用)各种设备,直到问题消失。如果是笔记本电脑,请尝试移除 ATI 驱动程序并使用 Windows 默认视频驱动程序运行。否则,请尝试使用其他视频卡。对于您的 WiFi 卡 - 卸载它后中断是否消失?

我知道的唯一真正能解决这些问题的工具是 Windows Performance Toolkit。它会告诉你哪些驱动程序(以及,如果有符号,其中的哪些例程……尽管这并不总是有用的)一直在占用时间。

这里是 ServerFault 上的一个帖子,可以为您提供基础知识。https://serverfault.com/questions/104131/how-can-i-find-out-what-is-causing-interrupts-on-windows

答案2

你可以试试LatencyMon。这将告诉您哪个模块在 DPC 和 ISR 方面花费的时间最多。

我的系统出现了严重的卡顿。您可以在下面看到,罪魁祸首似乎是ndis.sys

我在 BIOS 中关闭了板载 LAN 控制器,因为我没有使用它(我的网络适配器使用的是 USB 无线适配器)。然后我更新了适配器的驱动程序。这似乎解决了问题。但愿问题不会一直存在。

相关内容