What Is Load Average?
Load average represents the average number of processes waiting for CPU time or I/O. It is displayed as three numbers: 1-minute, 5-minute, and 15-minute averages.
# View load average
uptime
# Output: load average: 0.85, 1.20, 0.95
# Or from /proc
cat /proc/loadavgInterpreting the Numbers
Load average is relative to your CPU count:
| CPUs | Load 1.0 | Meaning |
|---|---|---|
| 1 | 1.00 | CPU fully utilized |
| 2 | 2.00 | Both CPUs fully utilized |
| 4 | 4.00 | All four CPUs fully utilized |
# Check your CPU count
nproc
# or
lscpu | grep "^CPU(s):"Rules of Thumb
- Load < CPU count — system is handling requests comfortably
- Load = CPU count — system is at capacity but not overloaded
- Load > CPU count — processes are waiting for CPU time (potential bottleneck)
- Load > 2× CPU count — system is overloaded, investigate immediately
Comparing the Three Averages
- 1m > 5m > 15m — load is increasing (spike or growing problem)
- 1m < 5m < 15m — load is decreasing (problem resolving)
- All three similar — steady state load
High Load Diagnosis
# Is it CPU-bound?
top -bn1 | head -20
# Is it I/O-bound?
iostat -x 1 5
# Which processes are using CPU?
ps aux --sort=-%cpu | head -10
# Check for I/O wait
vmstat 1 5
# High wa% = I/O wait is the bottleneck