Linux Load Average
What Load Average Measures
Load average is a measure of how much work a Linux system has waiting to run. It is the average number of processes that are either running on a CPU or waiting for one, over a given period. Linux also counts processes waiting for disk input and output, so the figure reflects demand on the whole system, not only the processor.
Linux reports three numbers, averaged over the last 1, 5 and 15 minutes. The uptime command shows them, for example load average: 0.52, 0.58, 0.59. The values are not percentages. A load of 1.00 means one unit of work on average, which means something different on a machine with one core than on one with eight.
Reading Load Average Against CPU Cores
The useful comparison is between the load and the number of CPU cores. On a server with four cores, a load near 4 means the processors are fully busy. A load well below the core count means spare capacity. A load above the core count means work is queuing, so tasks wait longer before they run. The core count can be checked with the nproc command.
Comparing the three numbers shows the trend. If the 1-minute value is higher than the 15-minute value, the load is rising, possibly because of a sudden spike. If it is lower, the system is recovering. A short spike that quickly returns to normal is usually harmless, while a load above the core count that holds steady over 15 minutes deserves attention. For background on the kernel that tracks this work, see what the Linux kernel does.
What a High Load Does Not Tell You
Load average shows that a system is busy, but not why. A high value can come from heavy CPU use, from many processes waiting on a slow disk, or from a server that has run out of memory and is swapping. Tools such as top and vmstat show which resource is the constraint. Memory pressure in particular is covered in the article on swap space.
Frequently asked questions
What is a good load average for a Linux server?
There is no single good number. A useful reference is the CPU core count: a load at or below that figure generally means the server keeps up with its work. Acceptable levels depend on the workload, so compare the figures with the server's normal pattern over time.
Why is load average still high after the work has finished?
Because the figures are averages. The 5- and 15-minute values change slowly, so they keep reflecting earlier activity for a while, and only the 1-minute value responds quickly. Check the trend and the list of running processes before deciding that the server is still overloaded.