System load is always at ~1 but CPU and Disk are in idle

Hi guys!

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 :roll_eyes:

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.

Hi Frank!

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…

Any ideas?

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:

  1. Create a service - /etc/systemd/system/mask-gpe6D.service
  2. Add these lines:
    Description=Mask GPE 6D
    ExecStart=/usr/bin/bash -c 'echo "mask" > /sys/firmware/acpi/interrupts/gpe6D'
  3. Enable created service systemctl enable mask-gpe6D.service
  4. Reboot

Load is at normal values now! Thanks Frank! :partying_face: