当前位置: 首页>>技术教程>>正文


kidle_inject导致非常高的负载

, ,

问题描述

每当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。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2545.html,未经允许,请勿转载。