What does load average mean in top and uptime?
Load average is the average number of processes running or waiting for the CPU (and, on Linux, waiting on uninterruptible I/O) over the last 1, 5 and 15 minutes. Compare it with the number of CPU cores: on 4 cores, a load near 4 means fully busy.
Explain it simply
Think of a bank with 4 counters. Load average counts how many customers are being served or waiting in line. If on average 4 are present, every counter is busy but nobody waits. If 8 are present, there is a queue.
uptime prints three numbers, for the last 1, 5 and 15 minutes: load average: 2.10, 1.80, 1.20. Comparing them shows the trend: 1-minute higher than 15-minute means load is rising.
The key rule: divide by the number of cores (nproc). A load of 4 is healthy on 8 cores, saturated on 4 cores and bad on 2 cores.
On Linux, load also includes processes stuck in uninterruptible disk or network waits (state D). So high load with low CPU use usually points to an I/O problem such as a slow disk or NFS, not busy CPUs.
Example
uptime
# 10:42:07 up 12 days, 3:11, 2 users, load average: 2.10, 1.80, 1.20
nproc
# 4Here 2.10 on 4 cores is about 50 percent busy, and the load is slowly rising.
What to say in the interview
"Load average is the mean count of runnable plus uninterruptible-waiting tasks over 1, 5 and 15 minutes. I compare it to the core count from nproc. If load is high but CPU is idle, I look at I/O wait with iostat or vmstat."
Common mistakes
- Reading load of 2.0 as 200 percent CPU on a machine without checking the core count.