Operations 8 min read

Understanding System Load Average and CPU Usage in Linux

This article explains the meaning of the Linux uptime/top output, defines system load average as the average number of runnable and uninterruptible processes, distinguishes it from CPU utilization, and provides guidance on interpreting load values for single‑core and multi‑core systems.

360 Quality & Efficiency
360 Quality & Efficiency
360 Quality & Efficiency
Understanding System Load Average and CPU Usage in Linux

When performing server‑side performance testing, administrators often use uptime or top to observe system load. The output includes the current time, system uptime, and three load‑average numbers representing the average number of active processes over the past 1, 5, and 15 minutes.

The load average does not directly indicate CPU utilization. It counts processes that are either in a runnable state (actively using the CPU or waiting for CPU time) or in an uninterruptible sleep state (waiting for I/O). In other words, it reflects the average number of active processes, not the percentage of CPU usage.

Runnable processes are those shown as R (Running or Runnable) by ps . Uninterruptible processes are in the D (Disk Sleep) state, typically waiting for hardware I/O and cannot be pre‑empted.

For a single‑core machine, specific load values have concrete meanings: 0.00 means the CPU is idle; 0.50 indicates the CPU is half‑utilized; 1.00 means the CPU is fully utilized; values above 1.00 indicate the system is queuing work and may become overloaded.

In multi‑processor or multi‑core systems, the acceptable load threshold scales with the number of logical CPUs. For example, a 4‑CPU system can sustain a load of up to 4.0 before each CPU is fully utilized. Therefore, when interpreting load averages, you must divide the load by the total number of cores to assess whether any core exceeds a load of 1.0.

CPU utilization measures the fraction of time the CPU spends executing instructions, ignoring processes that are waiting (runnable or uninterruptible). Consequently, high load does not always correspond to high CPU usage, especially for I/O‑bound workloads.

Typical guidelines for load values are:

≥ 0.70 – No immediate impact, but monitoring is advisable.

≥ 1.00 – Potential problems; investigate and resolve the cause.

≥ 3.00 – System becomes very slow; remediation may take longer.

≥ 5.00 – System may become unresponsive; a forced kill or reboot might be required.

Understanding the distinction between load average and CPU usage helps avoid misinterpretation and enables more effective troubleshooting of performance issues.

performanceoperationsLinuxsystem monitoringload averageCPU usage
360 Quality & Efficiency
Written by

360 Quality & Efficiency

360 Quality & Efficiency focuses on seamlessly integrating quality and efficiency in R&D, sharing 360’s internal best practices with industry peers to foster collaboration among Chinese enterprises and drive greater efficiency value.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.