在Process Explorer中通过中断确定哪些设备(或多个)导致高CPU

我有一个偶尔挂起的Windows 2003服务器。 当它挂起,我仍然可以通过控制台使用它,但在外部,它完全没有反应。 它甚至不会响应ping。 但是,重新启动它会将其恢复到正常状态,持续几个小时到两周。

挂起时,虽然CPU计量表明CPU在30%-50%的使用率之间徘徊,但在任务pipe理器中没有看到CPU使用率高的任何特定进程。 Process Explorer表示“interupts”进程正在占用30%-50%的CPU。 我知道这不是一个真正的过程,但我不知道是什么原因导致它如此之高。

一致认为,IDE控制器倾向于从DMA模式切换到PIO模式,但是在挂起之前或之后,在设备pipe理器中我没有看到这一点。

我如何确定哪些设备/驱动程序对此有贡献?

一些额外的细节:这是运行Windows 2003 R2的Dell 860 PowerEdge。 它有一个专用的RAID控制器。 不知道这是否是相关的,但是当我打开设备pipe理器,有4个USB控制器,说驱动程序丢失或损坏,虽然这台机器没有USB设备连接。

如果你的系统没有响应ping,并显示高级别的中断,我会首先怀疑NIC。

您可以使用Kernrate查看器 ,该查看器提供有关使用CPU的设备驱动程序的一些信息,但是我只需更换网卡(至lessPE 860具有全高PCIe插槽以便快速更换),然后查看是否可以缓解这个问题。