/proc/loadavg: Explanation & Insights
Contains the load average of the system over the past 1, 5, and 15 minutes
The /proc/loadavg
file is a virtual file on Linux systems that contains the current load average for the system. The load average is a measure of the system's CPU and memory
usage,
and is expressed as a three-digit number with each digit representing the average load over a different time period (1 minute, 5 minutes, and 15 minutes).
The load average is calculated by taking the sum of the number of runnable tasks (including both running and waiting tasks) and the number of tasks waiting for I/O, and dividing this value by the number of CPU cores on the system. The resulting value is then averaged over the specified time periods.
You can get the current load average by looking at /proc/loadavg
:
cat /proc/loadavg
Here is an example of the contents of the /proc/loadavg
file:
0.01 0.05 0.10 1/242 2978
In this example, the load average is 0.01, 0.05, and 0.10 for the past 1 minute, 5 minutes, and 15 minutes, respectively. The numbers after the load averages represent the number of running and total tasks on the system, with the first number being the number of running tasks and the second number being the total number of tasks.
For example, consider a system with 4 CPU cores. If the load average is 0.75, it means that, on average, there are 3 processes waiting for CPU time or blocked (0.75 * 4 = 3). This could be interpreted as the system being fairly busy, but still able to keep up with the workload. If the load average were to increase above 1.0, it would indicate that the system is experiencing a higher workload than it has CPU capacity to handle, and some processes may start to experience delays in execution.
The load average can be used to determine the overall system performance and to identify potential performance issues. A high load average may indicate that the system is overloaded and is struggling to keep up with the demands being placed on it. In this case, it may be necessary to add more CPU or memory resources to the system to improve performance.
It's important to note that the load average is an average over a specific period of time, so it can fluctuate somewhat even if the overall workload remains constant. By default,
the load average is calculated over the past 1, 5, and 15 minutes, and is also displayed in the output of the uptime
command.