Load average constantly above 1

I’m using radxa-zero-ubuntu-focal-server-arm64-20220701-0329-mbr.img.xz from the radxa-build/radxa-zero repository.

With the system idle, the load average always seems to be above 1:

rock@radxa-zero:~$ uname -a
Linux radxa-zero 5.10.69-12-amlogic-g98700611d064 #amlogic SMP PREEMPT Tue Jun 14 12:47:53 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
rock@radxa-zero:~$ uptime
 09:20:00 up 1 day,  2:00,  1 user,  load average: 1.18, 1.17, 1.11


rock@radxa-zero:~$ sudo cat /sys/class/thermal/thermal_zone0/temp

The system is connected to a WIFI network. I’m not using HDMI output or any USB peripherals – it’s powered by USB and that’s it. I have not made any changes to /boot/uEnv.txt. I have installed libmraa.

When I check with htop, I can see one core always at 20-30% utilization, but no processes with significant CPU usage (at the top is htop itself with ~2%).

Any tips on how to investigate what’s causing the above-1 load average? Thanks in advance!

Look for processes in D state. Average load on Linux is not CPU utilization.

There is two processes that are from time to time in “disk sleep” state:

rock@radxa-zero:~$ grep "^State" /proc/*/status | grep -v sleeping | grep -v idle
/proc/3771/status:State:	D (disk sleep)
/proc/4704/status:State:	R (running)
/proc/self/status:State:	R (running)
/proc/thread-self/status:State:	R (running)
rock@radxa-zero:~$ ps aux | grep 3771
root        3771  9.5  0.0      0     0 ?        D    02:26  45:03 [kworker/0:2+events]
rock        4747  0.0  0.1   4728   644 pts/0    S+   10:18   0:00 grep --color=auto 3771
rock@radxa-zero:~$ ps aux | grep 4097
root        4097  9.5  0.0      0     0 ?        I    05:18  28:34 [kworker/0:1-events]
rock        4749  0.0  0.1   4728   676 pts/0    S+   10:19   0:00 grep --color=auto 4097

It’s the kernel doing this and that. If you’re running off a slow SD card then %iowait could be the culprit.

Check iostat 10 for example (needs package sysstat).

Thanks for the tips, appreciate it! iostat output:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.76    0.00    6.43    0.03    0.00   92.78

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
mmcblk1           0.20         0.00         1.60         0.00          0         16          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.84    0.00    6.55    0.00    0.00   92.62

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
mmcblk1           0.00         0.00         0.00         0.00          0          0          0

If it isn’t %iowait I wouldn’t be that much concerned. Other platforms suffer from this symptom also and nobody is going to fix anything…

Thanks. It’s not burning CPU, and the performance is fine, so yeah, I’ll just leave it at that.

PS I experimented with removing a bunch of kernel modules (video, bluetooth, …), but no change. One extra thing I suppose I could still try is to disable WIFI and then check the load average via serial console.