问题描述
每当kidle_inject
开始在我的系统上运行时,负载就会上升。一般来说,它只能在这个5.23, 3.65, 2.54
周围加载,但很多时候它会超过它们每个的15个标记。此时系统停止运转,我必须将其关闭。
这仅在kidle_inject
进程启动时发生。如何禁用此过程,以便我的机器可以工作,我可以完成一些工作。
示例top
:
top - 12:43:48 up 3:02, 3 users, load average: 6.57, 5.53, 3.33
Tasks: 256 total, 3 running, 253 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.9 us, 16.6 sy, 0.0 ni, 74.7 id, 0.5 wa, 0.0 hi, 2.3 si, 0.0 st
KiB Mem: 8080252 total, 7937856 used, 142396 free, 258904 buffers
KiB Swap: 0 total, 0 used, 0 free. 4061336 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13509 root -51 0 0 0 0 S 54.7 0.0 3:29.47 kidle_inject/1
13511 root -51 0 0 0 0 S 54.1 0.0 3:30.92 kidle_inject/3
13510 root -51 0 0 0 0 S 48.8 0.0 3:11.60 kidle_inject/2
13508 root -51 0 0 0 0 S 47.6 0.0 3:08.47 kidle_inject/0
最佳解决思路
看来这是内核中的bug。
根据该错误报告的评论,运行命令sudo rmmod intel_powerclamp
似乎已经停止了kidle_inject
进程,我还没有发现任何问题。
希望这很快就能解决。如果我注意到任何事情,我会更新这个答案。
更新
每次启动计算机时都需要运行rmmod
命令。自从运行此命令以来,我没有发现任何不良事件。
更新2
我注意到,自从这样做以来,我的CPU温度现在往往在~72°附近运行得更低
要在启动时创建此设置,请使用命令
echo "blacklist intel_powerclamp" > /etc/modprobe.d/disable-powerclamp.conf
次佳解决思路
接受的答案是不完整的。根据bug comments,产生了kidle_inject流程以节流处理器并防止其进一步过热。
在”fixing”之前,请确保您的风扇干净且工作正常。我遇到了这个问题,发现通风口里满是灰尘。清洁并重启后,没有再生成kidle_inject。
第三种解决思路
如果您运行的是macbook,请确保已安装macfanctld
。如果不这样做,风扇将固定在最大6000的2000 RPM左右。这可以通过sensors
命令看到。在这种情况下,powerclamp会提前启动以节省CPU。