Whenever kidle_inject
starts running on my system the load shoots up. In general it only gets to a load of around this 5.23, 3.65, 2.54
but a lot of the time it jumps up past the 15 mark on each of them. At that point the system grinds to a halt and I have to power it off.
This only happens when the kidle_inject
process starts. How can I disable this process so my machine can work and I can get some work done.
Example 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
It appears that this is a bug in the kernel.
From the comments on that bug report, running the command
sudo rmmod intel_powerclamp
seems to have stopped thekidle_inject
processes and I haven't noticed any issues with doing so as of yet.Hopefully this will be fixed soon. If I do notice anything I will update this answer.
Update
The
rmmod
command needs to be run every time you boot the machine. I have not noticed anything bad happening since running this command.Update 2
I have noticed since doing this that my CPU temp now tends to run much lower at around the ~72°
For making this set while booting use a command
The accepted answer is incomplete. According to the bug comments, the kidle_inject processes are spawned to throttle processor and protect it from further overheating.
Before "fixing" the bug, make sure your fan is clean and works correctly. I had this problem and found out that the vent was full of dust. After cleaning and reboot no kidle_inject was spawned anymore.
If you are running a macbook, make sure that you have
macfanctld
installed. If you don't, the fan will be fixed at around 2000 RPM out of the max 6000. This can be seen by thesensors
command. In this situation powerclamp will kick in to save the CPUs rather early.I noticed this today as well. Oddly enough for the kind of CPU usage, the fan wasn't making any noise. Managed to reboot the machine and then looked at BIOS Fan speed. It showed that the fan had stopped (no RPM reading). So after a bit of a cleaning (quite literally - opening the laptop lid, cleaning a bit, the fan started working fine and things got alright. So might be the problem is with your CPU fan. So simply disabling the
intel_powerclamp
may not be a good idea.I did the following steps which worked.
Check if the module is loaded.
If the previous command shows that the module is loaded, perform the next lines.
Add the following line in your crontab rules
@reboot /sbin/rmmod intel_powerclamp
orecho '/sbin/rmmod intel_powerclamp' >> /etc/bash.bashrc
(it will affect all users) orecho 'blacklist intel_powerclamp' > /etc/modprobe.d/disable_mods.conf
.A good cleaning around the laptop (HP EliteBook 8460p running Ubuntu 16.04 LTS) and a vacuuming of the air vents on both sides (along with moving the piles of random stuff that had accumulated there) fixed it for me.
This is not a bug, it's a feature.
The CPU first heats. Then kidle-inject blocks each thread (that is 8 procs per 4 cores) around 50% of its time - NOT consuming power, not heating, but slowing down the system.
Solution: Vacuum the vent slids. Keep them open (e.g. do not work in bed with the bottom of the notebook "choked" by the cushions. Cool your apartment down (wait for the night to do CPU-intensive tasks).