dram.me

DPC风暴

这些天发现本子的一核CPU占用一直保持在20%,居高不下。心理有些不爽,于是较真了一下。

一般情况下,通过任务管理器就可以大致看出是哪个进程一直在占用CPU。但这次只发现System Idle Process(SIP)占用90%的CPU使用率,也就是说20%的CPU使用大部分是被SIP用了。但SIP不是空闲进程吗?都空闲了还忙着做什么呢?

后来通过Process Explorer发现,占用资源的主要是System Idle Process中的Deferred Procedure Calls(DPC)。 那么具体何为DPC呢?可以看看wikipedia

大概了解DPC之后,基本可以确定是硬件驱动上的问题了。但在Process Explorer中不能看到具体是哪个硬件在使用DPC,这时我们还需要一个工具RATTV3,具体使用方法可以看这里

好了,离结果不远了。通过分析RATTV3的日志后,是HSF_CNXT.sys在占用资源,像是声卡的文件。

禁用声卡,CPU使用率立马下来了。再联想到前些天刚更新过驱动,降级到先前的版本后,系统正常了。