Vista 中的系统进程消耗 CPU;主要在 ntkrnlpa:KiDispatchInterrupt 中

Vista 中的系统进程消耗 CPU;主要在 ntkrnlpa:KiDispatchInterrupt 中

一段时间以来(几个月),我一直遇到系统进程 CPU 使用率过高的问题。最近,Windows 运行时,这个问题一直存在。使用每秒两次的 procexp 采样,系统进程似乎在 0% 和 ~40%(即一个核心的大部分)之间波动,周期为两秒。

我运行的是 Vista Business 32 位和 Norton Internet Security。在 sysinternals 论坛上发帖后,我现在已经卸载了 Norton,以防万一,但结果并没有什么不同。我当然可以提供其他可能有用的系统详细信息。

我认为我已经做了尽可能多的诊断,而无需寻求更多专家的建议。使用 procexp,我可以看到 ntkrnlpa 受到了牵连,并按照此处的说明进行操作http://rfvicente.spaces.live.com/blog/cns!5228FAA8B79B6EB1!590.entry我让 kernrate 告诉我 KiDispatchInterrupt 占该模块命中率的 84%。

那么现在怎么办?我能从这些事实中辨别出什么?这似乎可能与驱动程序有关,但我不知道可能是哪个驱动程序,我宁愿重新安装 Windows,也不愿花很长时间诊断问题。

如果有人能指出哪种驱动程序或其他因素可能导致这种情况,我们将不胜感激。

答案1

每当我遇到类似的问题时,我都能使用 RegMon 或 FileMon 来追踪它,因为当我小心不启动任何应用程序时,错误的进程是唯一活跃的进程。

如果它正在使用 CPU 资源,那么它很可能也在使用其他资源。这可以帮助追踪问题。

在我看来,罪魁祸首是编写不当的驱动程序 - 例如,显示器“驱动程序”每秒检查几次以查看显示器是否已旋转为纵向,HTC 同步驱动程序每秒检查两次是否存在与手机的 USB 链接。

供应商的名称出现在文件路径或注册表项中,这有助于确定原因。禁用系统通知区域中的相关项目确认了罪魁祸首(例如,右键单击并选择退出 - 活动消失。)

答案2

我已经将问题归咎于我的 Vostro 中的“Broadcom 440x 10/100 集成控制器”网络适配器。我当前的驱动程序是 4.60.0.0,发布日期为 2007 年 3 月 28 日... 不记得我是否或何时更改过它;我很确定问题不是由它直接导致的。嗯。只是在这里提供一些希望对后代 Google 有用的信息(向任何发现从 sysinternals 上复制了完全相同内容的人表示歉意)。我会尽快尝试找到另一个没有此问题的驱动程序。

相关内容