春节在家,弟弟的电脑出现了经常无故死机的问题,小刁当然不能坐视不理,挽起袖子就开始大刀阔斧的修理。查看进程时发现System进程占用率过高,使得CPU占用率经常百分之百。相信很多朋友们也遇到过同样的问题,希望本文对大家有帮助。
电脑故障概述:
cpu运行负荷总是100%,其中有个system进程一直占用了90%以上的cpu,导致system idle process永远是0
首先怀疑电脑中毒了,升级病毒库,杀毒也杀不出什么东西。格了c盘重装系统结果也是一样。看来可以排除软件的问题,应该是硬件的问题了。
网上搜索到了很多类似的文章,看来有不少人有跟我一样的问题,但是都没有一个合理的解释,一般都是换了主板或者换了某个设备之后就好了。可总不能在去换个主板吧,在这双核横行的时代,要想找个AMD速龙的板子可着实不容易。
小刁学到了一招用process explorer软件来分析某个进程的状态,可以看到他是由哪些dll和sys组成。
打开这个软件,发现system, interrupts 和 DPCs都非常的高,看来真是硬件有冲突了。于是分析system进程的stack,发现acpi.sys这个文件的context switch异常的高,有几十万的文境切换,怪不得cpu这么慢,原来都被他占用掉了。于是用process explorer把这个线程suspend之后,果然cpu负荷一下子降到了5%,interrupts和DPCs都相应的降了下来。system idle process成功到达95%以上。
google了一把acpi.sys,据说是高级电源管理的模块,估计是跟主板的acpi支持有关,可能跟xp的acpi有冲突,回去刷一下bios试试。
如果用 process explorer分析出其它的sys文件负荷过高(一般是驱动文件),那么删除这个硬件或者升级相应的驱动即可解决问题~还有一种情况是如果中毒之后某个进程占用cpu非常高,也可以观察出是哪个文件搞的鬼。