I have just installed a fresh copy of Rocky Linux 9.1 to my new mini PC and everything looks to be fine, but for some reason system load is always at ~1 for no reason… “htop” and “top” commands don’t show anything and CPU with Disk usage are almost at 0.
The only one process that “top” command shows in D state is “kworker”:
272 root 20 0 0.0m 0.0m 0.0m D 4.0 0.0 1:14.81 kworker/3:2+pm
I don’t know if this is worth to mention, but the first problem that I got after OS install was that one CPU core was always at ~70% for no reason, but this post solved that issue - Link
I can’t find anything else related in google about this problem, so maybe someone here can help me with some ideas what to check and what can be the cause of this
If you need more information about my setup I can add it, but I didn’t install anything else after OS install apart docker service which shouldn’t be the case, because if I stop it, the load doesn’t change…
Since kworker is a kernel worker process, install perf and see if that tells you anything interesting.
Thanks for your reply!. I have installed perf and used “perf top” command.
This is what I got:
This information doesn’t say much to me, so maybe you have any clue if there is something wrong from this picture? Maybe I should check something else with perf?
This could be the cause, but its the same problem that I described in the first message when one CPU core was at ~70% always.
In my case if I check acpi interrupts I see that
/sys/firmware/acpi/interrupts/gpe6D: 1284 EN enabled unmasked is filling up, but the problem is that if I do
sudo echo "disable" >/sys/firmware/acpi/interrupts/gpe6D it gets re-enabled by itself again shortly…
Ok, I think I found the solution!
I googled a bit why it gets re-enabled and found this - Link
So what I did in my case was:
- Create a service -
- Add these lines:
Description=Mask GPE 6D
ExecStart=/usr/bin/bash -c 'echo "mask" > /sys/firmware/acpi/interrupts/gpe6D'
- Enable created service
systemctl enable mask-gpe6D.service
Load is at normal values now! Thanks Frank!