Load Average, what does it mean?

The three load-average values in the first line of top output (you could use uptime or w (who) command too) are the 1-minute, 5-minute and 15-minute load average of the system. But what does load average really mean?. Reading from left to right, these values are the CPU load average for the last 1, 5 and 15 minutes. These averages can be confused with CPU percentage, but it’s not the same
The CPU load focuses on what is actively demanding CPU time, however the CPU percentage is the amount of a time interval that the system’s processes were found to be active on the CPU. If top reports that your process is taking 45% CPU this means that 45% of the samples taken by top your process has been found active on the CPU. The rest of the time the process was in a wait state. But load average includes all demand for the CPU (The load average gives us the number of process waiting for CPU time). So, what does a value of [3.58 6.45 0.50] mean?. If our system has only one CPU:

  • during the last minute the CPU was overloaded by 358% so 2.58 process were waiting for CPU time
  • however in the last 15 minutes the system was busy half of the time

How can we use this data? It means that the system could have process all the task if it were 3.58 time faster or if the system had 4 CPU’s
As we said, these values really depend on number of CPU’s. In a system with one CPU, the point of perfect utilization, meaning that the CPUs are always busy and, yet, no process ever waits, is 1.00 (100%).

In a system with more than one CPU is the average matching the number of CPU’s. For example, if we have a computer with 4 CPU’s and the load average for the last minute is 4.00, this means the computer has been using the CPU’s perfectly for the last minute (there weren’t any process waiting for CPU time).

Leave a reply

You must be logged in to post a comment.