根据 Process Explorer,我有一台服务器在硬件中断上使用 10-25% 的 CPU 时间。
我将如何记录/诊断所有这些 IRQ 调用的原因?
这台机器是虚拟的,所以我知道物理硬件不是问题(尽管可能是驱动程序等)。
更新:尝试了这篇文章中的信息:http: //msdn.microsoft.com/en-us/library/ms797921.aspx
关于使用 tracelog.exe 和 tracerpt.exe 捕获 DPC 和 ISR 事件,但是当我运行跟踪时,它没有任何信息,即使使用 -dpcisr 开关也是如此。我在报告中获得磁盘和进程信息,但没有中断...我知道中断正在发生,因为 Process Explorer 仍在使用 6-15% CPU 显示它们
浏览器
启动命令提示符 -> 转到 KRView 文件夹
C:\Program Files\KrView\Kernrates>Kernrate_i386_XP.exe
你会得到类似的东西
按CTRL+后C(但让它运行一段时间),这应该会给你一个指示在哪里看。
现在要追踪有关这些驱动器的更多信息,如果您无法根据驱动器的名称猜出是谁制造了驱动器,您可以在您的 Windows 系统文件夹中找到它(tcpip 将是文件 tcpip.sys,右键单击该文件,您可以看到谁签的)。
在您最喜欢的搜索引擎上搜索可能有类似问题的其他人时,我会开始搜索无微软一次。
请注意,intelppm可能是您问题的根源,但它会在列表中显示非常高,因为它将睡眠命令发送到 cpu,因此它在输出中的位置将非常高(如果您有 AMD CPU将 intelppm 替换为 amd 驱动程序)。
正如您可能已经注意到的那样,这并没有为您的问题指出一个很好的箭头,它仍然需要您做一些工作来追踪问题的处理方法,但它应该可以帮助您在什么方向上集中搜索。
试试这个:
KrView
XP 版本的 KrView 可以在 Vista 上运行,但您需要以管理员身份运行它。以管理员身份启动 cmd shell 并在发生硬件中断问题时运行 c:\program files\krview\kernrates\kernrate_i386_xp.exe。将结果与问题未发生时的结果进行比较。这将告诉您哪些硬件驱动程序正在占用 CPU。
试试这个:开始,设置,控制面板,系统,设备管理器,IDE,主IDE通道属性,高级设置,将两种传输模式都设置为“DMA(如果可用)”。