Signup/Sign In
LAST UPDATED: MARCH 8, 2023

LInux Load Average

In Linux, the load average is a measure of the system load or the amount of work that the system is performing. It represents the average number of processes that are either in the run queue or waiting for a turn to run on the CPU. The load average is displayed in the output of the 'top' command, as well as in the 'uptime' command, and is expressed as a three-number set, representing the load average over the past one, five, and fifteen minutes.

Understanding the load average in Linux is important because it gives you insight into how busy the system is and whether it has sufficient resources to handle its workload. If the load average is consistently high, it may indicate that the system is overworked and could benefit from additional resources, such as more memory or CPU power. On the other hand, if the load average is consistently low, it may indicate that the system is underutilized and could be consolidated or have its resources repurposed.

Load Distribution

A server with one core processor is equivalent to a single consumer standing in line to get their items paid at a grocery store. During peak hours, there is usually a huge queue, and the waiting time is long for everyone.

If we want to reduce waiting time, one important statistic will be the number of persons waiting at any one moment. The waiting time will be 0 if there are no people waiting. Furthermore, when there is a long line of customers, the waiting period will be considerable.

Taking it and applying it to the system load result (0.5, 1.5, 3.0):

  • The waiting time (minimum) at the counter is defined as 0.5. We don't have to be concerned with the range of 0.00 to 1.0. Our servers are safe.
  • The lineups are swelling up, according to 1.5. When the average rises, things will begin to slow down.
  • 3.00 indicates that there is a big backlog that has to be cleared quickly, and an extra counter/resource is required.

Multiple CPUs could run multiple programs at the same time. Intel's current CPUs employ both hyper-threading and multiple cores technology.

To find the processing unit numbers on the system, we can use the lspu or nproc commands:

$lscpu

3

$ nproc

4

Load Average Calculation

There are numerous ways to monitor a system's load average, including the uptime command, which displays how long a system has been running, total users, and load averages:

$uptime

1

Top Command

$top

2

Other System Performance Commands


Some of the instructions for evaluating system performance are listed below:

vmstat: This command displays information about stopped or runnable processes, the CPU, traps, block I/O, paging, and memory.
It is a process viewer that is interactive.
dstat: This tool aids in the correlation of all available resource information for processes, CPU activity, traps, block I/O, paging, and memory.
Iftop: is an interactive network traffic viewer per interface.
nethogs: It is an interactive network traffic viewer per process.
iotop: It's an interactive I/O viewer I/O statistics are stored using iostat.
mpstat: This command is used to collect CPU statistics.
tload: This is a graph showing a terminal's average load.

Conclusion

The load average in Linux is a crucial metric that helps system administrators monitor the system's performance and determine whether it is overworked or underutilized. It reflects the average number of processes that are waiting for resources to become available. The load average is represented by three numbers, which represent the average load over the past 1 minute, 5 minutes, and 15 minutes, respectively. Understanding and monitoring the load average is essential for ensuring that the system remains stable and responsive, and to detect and resolve performance issues in a timely manner. Additionally, the load average can be used to determine whether additional resources, such as CPU or memory, are required to meet the demands of the system.



About the author:
Pradeep has expertise in Linux, Go, Nginx, Apache, CyberSecurity, AppSec and various other technical areas. He has contributed to numerous publications and websites, providing his readers with insightful and informative content.