When managing a Linux servers or any device which uses linux, you may encounter load averages—those three numbers often displayed in system monitoring tools like top, htop or uptime.

But what do they really mean?

What is Server Load?

Server load reflects the number of processes waiting to use the CPU, including those currently running and those queued. Unlike CPU usage (often shown as a percentage), load averages are numeric values that don’t cap at 100%.

HTOP Server Load.

Instead, they are tied directly to the number of CPU cores on your server. For example, a load average of 1.0 on a single-core system means the CPU is fully utilized. On an 8-core server, a load of 8.0 represents full utilization across all cores.

In many cases you will calculate ‘load per core’ to simplify and better determine if this load is to much.
This can be done by Dividing the Server Load by the CPU Core Count.

Server load on a cPanel webserver

An example of this is Webserver with a Server Load of 34.91 and a CPU count of 8, by dividing the server load by cpu count. In this case 34.91/8 = 4.36 Load Per Core which is critical.

Why Load Isn’t a Percentage

Load averages can exceed 1.0 because they measure processes, not percentage utilization of the actual cpu compared to what Microsoft Windows shows.

For instance, if you have two processes simultaneously competing for a single CPU core, the load will show 2.0—indicating that one process is running while the other waits. On a multi-core system, this scaling means that values higher than the number of cores suggest contention for CPU resources.

How Much Load is Too Much?

The acceptable load depends on your server’s CPU core count and what you are doing with the server.

In the case of a database or webserver, you generally want the ‘Per Core Load‘ below, so requests can be processed and sent back with minimal delay. A server whose purpose is to only render large files may intentionally be run at maximum utilisation past 1.0x which is acceptable is the application remains stable and nothing more is expected from the server.

  • Ideal Load: A load equal to or less than the number of cores (e.g., 8.0 for an 8-core server) generally indicates smooth operation with excess CPU resources waiting to complete the operation.
  • Moderate Load: A load between 1.0x and 1.5x the number of cores may be manageable for brief amounts of time, but it could lead to slowdowns and delays returning the results as the CPU is at 100% utilisation
  • High Load: A load consistently exceeding 1.5x the core count (e.g., 12.0 on an 8-core server) suggests the server is under stress, with processes often waiting for CPU time and will likely be having a moderate impact.
  • Critical Load: A load above 2.0x the core count (e.g., 16.0 on 8 cores) indicates severe performance degradation and likely instability which requires immediate attention.

When looking at load, it is a good idea to consider the entire 1,5,15 minute load averages. A brief spike on he 1 minute chart may not be a problem, however sustained load over 5 & 15 minutes is a problem.

Linux CPU Load Calculator

Understanding load can be confessing, but once you understand the concept it’s a very powerful metric to know and helps indicate how overloaded a server is.

To assist understanding this process this, we have helped develop an online Linux CPU Load Calculator tool to assist determining the load on your device.

Linux CPU Calculator Tool - IPTOOLS

Final Thoughts

Understanding server load and its relation to CPU cores on linux systems can be confusing, however it is an essential metric to understand when diagnosing performance bottlenecks. A server that’s consistently overloaded can lead to slow responses, application timeouts, and unhappy users.

Leave a Reply

Your email address will not be published. Required fields are marked *