记一次修复CPU使用率永远100%的解决方案


前言

*最近电脑很奇怪,一开机CPU就满载。排除下来也不是程序的问题,任务管理器也是很多负载很低的程序在使用大量CPU。
就像这个图一样:

困扰了我好一阵子,这几天每天打开电脑CPU风扇就狂转,房间也热的一批。

解决过程

首先我以为是任务管理器出问题了。 但是打开AIDA64一看也是满的(TDP都跑满了) 我就意识到是真满了。
然后我就怀疑是主板供电不足或者驱动没打上,但是一看全是好的,十分不解。
ChatGPT告诉我也许是系统没更新的问题。看了下确实很久没更新了,但更新后还是不行。
在尝试了许多方法后还是以失败告终。 怎么办呢?电脑现在就跟暖气炉一样。
只能回到互联网找答案。
首先是说这个Windows的Microsoft Defender 在后台疯狂扫描吃CPU,要限制扫描占用率。一改确实有用,但是过几秒又满了。
最后终于在知乎上找到了跟我类似的解决方案,才解决了这个难题。

解决方案

方案来自superuser.com

最终找到问题的根本原因是windows本身的系统电源策略IDLEDISABLE被设置成了TRUE,导致系统将强制把CPU占满(防止其降频)
原话:

IDLEDISABLE prevents the CPU from throttling itself, causing heat and the fan noise I observed. Additionally, this manifested in the Task Manager as "100% CPU usage". Process Explorer seems to always discount the System Idle Process and not include it in the total CPU usage, which is why it displayed a lower total CPU usage than Task Manager did.

所以解决方案也十分简单, 直接关闭这个电源策略就可以了。

PowerCfg /SETACVALUEINDEX SCHEME_CURRENT SUB_PROCESSOR IDLEDISABLE 000
PowerCfg /SETACTIVE SCHEME_CURRENT

还是互联网靠得住。轻松秒杀

上一个最后的效果,CPU终于可以安心睡觉了。