如何分析Windows内核模式CPU使用率过高?
使用Windows XP的计算机在使用几分钟后,每次奇怪的重新启动后,我的Windows XP计算机都开始半冻结(不同的程序/完全没有其他prg启动)。 更新:我现在设法使用Process Explorer来获得更多细节。这是2核CPU,而100%内核使用率仅在一个核上。进程列表显示DPC-延迟过程调用的比率为50%(一个内核为100%)。所以现在的问题是:**什么是DPC,我该如何解决? 下次更新:OKIES ......用这个和那个我已经能够得到xperf在我的Windows XP上运行,并且样品转储我把显示器就好在我的Win7的笔记本电脑。是的,您需要一台Win7 / Vista计算机才能查看在Windows XP上进行的转储。 但是,我现在面临以下问题,我可以启用xperf跟踪,xperf -on Latency并且在打开xperf跟踪时现在也再次发生了该问题,但是一旦我的DPC达到100%,Windows就不会启动任何新进程(或它们的新进程)。启动永远不会结束)(例如打开的cmd窗口仍然可以响应,但是您尝试调用的每个exe都挂起了(dir效果很好,因为有一个cmd命令)-我只能假定它CreateProcess与内核的某些部分挂在一起)。现在,无法启动任何新进程意味着我无法运行xperf -d dumpfile.etl,因为当我在cmd窗口中输入该进程时,它只是挂起了。 因此,我似乎不走运。我宁愿扔掉整个装备,也不愿开始手动禁用驱动程序... :-) 任何其他想法表示赞赏! 也就是说,尽管Windows在理论上保持响应(例如,鼠标光标正常移动并且我可以单击,并且最终可以识别该单击),但用户执行的操作仅在几分钟后(字面上)就得到了响应。 示例:敲击键盘上的Num-lock键通常会切换键盘上的Num-lock LED。我的半冷冻机也是如此,但是只有一两分钟之后。 一次,我设法启动了Process Explorer,几分钟后,系统信息图清楚地在红线(内核模式)上指示100%CPU使用率,而绿线保持为零。在这种状态下,尽管图形仍在屏幕上更新,但机器无法再运行。(好吧,除非您愿意在每次点击后等待几分钟。) 因此,现在我想知道问题可能出在哪里,因为我已经有好几个星期没有在这台计算机上安装任何新产品了,当然这并不是在看到这种现象之前。(重新引导有时会有所帮助,有时我需要第二次或三次重新引导,然后计算机才能长期使用。) 现在,我怎么能找出什么实际造成过度的内核模式下使用? 注意:也将此内容发布在sysinternals论坛中。