← All articles
LinuxPerformanceSRE

Linux Load Average Explained Without Lies

9 February 2026 · 6 min

Everyone reads uptime, sees load average: 24.0, and panics about CPU. But load average isn't CPU usage — and misunderstanding it sends people adding cores to a box that's actually starved for disk.

What the three numbers are

load average: 24.74, 18.10, 12.93

Those are the 1-, 5-, and 15-minute averages of the number of processes that are either:

  • runnable (using or waiting for CPU), or
  • in uninterruptible sleep (state D) — almost always waiting on I/O.

That second category is the part everyone forgets. A process blocked on a slow disk counts toward load even though it's using zero CPU.

The classic trap: high load, low CPU

uptime
# load average: 26.40, 25.11, 22.84

top
# %Cpu(s): 5.0 us, 2.1 sy, 8.6 id, 84.3 wa

CPU is 90% idle, but wa (I/O wait) is 84%. The CPU isn't the bottleneck — the disk is. Confirm it:

iostat -x 1 3
# %util near 100, await in the tens/hundreds of ms = the disk is the wall

ps -eo state,pid,cmd | grep '^D'
# processes stuck in D = blocked on I/O

Adding CPUs here does nothing. The fix is to find the I/O hog (a runaway backup, a verbose log, a failing disk), throttle or reschedule it, and check disk health.

Is a given number "bad"?

Load is relative to how many CPUs you have. A load of 4 on a 4-core box means it's fully utilised; on a 32-core box it's cruising. A rough rule: divide load by core count.

nproc            # how many CPUs

But even "load per core" only tells you about demand, not cause. Always pair it with: is this CPU demand or I/O wait?

A quick triage flow

  1. uptime — is load high relative to nproc?
  2. top — is it user/sys CPU, or wa (I/O wait)?
  3. If CPU: which process? (top, pidstat)
  4. If I/O wait: iostat -x, find D-state processes, check the disk.
  5. If neither adds up: check memory pressure and swap (free -h, vmstat).

The one-liner to remember

High load + busy CPU = compute problem. High load + idle CPU = I/O problem. Either way, measure before you reach for a fix.

Put it into practice in the puzzle High Load, Low CPU or the Linux Black Box lab.

Liked this? ShellQuest turns these mental models into puzzles and labs you can actually practise.

Join the waitlist