Course contentsShow
← Linux
Lesson 472 of 1,8195. Process Management and SignalingFree lesson

Load Average and System Throughput

Interpret system load metrics in relation to the number of runnable and blocked processes.

In this lesson, you will learn how to interpret Linux load average metrics to understand how many processes are actively competing for your system’s attention.

What is Load Average?

When you run the uptime or top command, you see three numbers representing the load average over the last 1, 5, and 15 minutes. A common misconception is that these numbers represent "CPU usage percentage." In reality, the load average is a count of the system load.

System load represents the number of processes that are in a "runnable" or "uninterruptible" state. Specifically:

  • Runnable: The process is either currently using the CPU or waiting in the queue to be assigned to a CPU core.
  • Uninterruptible: The process is waiting for I/O (like reading from a slow disk or network drive) and cannot be interrupted.

Interpreting the Metrics

Imagine your CPU as a checkout line at a store. If you have a single-core processor:

  • Load of 1.00: The "line" is exactly full. One process is being served, and there is no one waiting.
  • Load below 1.00: The CPU is idling part of the time.
  • Load above 1.00: Processes are queuing up. If the load is 2.00, one process is running, and one is waiting.

On multi-core systems, these numbers are scaled. If you have 4 CPU cores, a load of 4.00 means your system is perfectly saturated. If the load exceeds the number of physical cores, your processes are experiencing "queue delay," and system throughput begins to drop because the CPU spends more time context switching between tasks rather than completing them.

# Check your current load
$ uptime
 14:20:01 up 10 days,  2:15,  1 user,  load average: 0.50, 0.75, 0.80

In the example above, if this were a 2-core machine, a load of 0.50 is quite healthy. It indicates that, on average, the CPU has had plenty of capacity to handle incoming requests without forcing processes to wait in a long queue. By monitoring these numbers, you can determine if your system has the throughput capacity to handle your current workload or if you are bottlenecking on CPU or I/O.

Key Takeaway: Load average measures the demand placed on the kernel by counting processes waiting for CPU time or disk I/O, rather than measuring simple CPU utilization percentage.