如何阻止系统中断占用 CPU

kpr*_*314 6 windows-8.1

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

Jam*_*han 7

“系统中断”并不是真正的进程,即使它出现在进程的“详细信息”选项卡列表中。中断不计入任何特定进程。任务管理器只是以这种方式显示它来给它一个标签。

高中断率通常是由以下原因之一引起的:

  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

  • 我打开了一个命令提示符并使用了两个命令“xperf -on base+interrupt”和“xperf -d interrupt_trace.etl”。然后我打开了 Windows 性能分析器,看看是什么导致了中断,它主要是 amd_sata.dll,所以我对它做了一些研究,它是我的 SATA/USB 驱动程序,所以我从设备管理器中卸载了它而不是修复它。我可能不担心 hal.dll,因为它是 BIOS 的重要组成部分。 (2认同)