Abstract
- CPU load measures the number of processes that are either using or waiting for the CPU at a specific time
What does the CPU Load number mean?
If the load is low, processes can access the CPU without waiting. If the load exceeds the number of CPUs, processes form a queue, leading to CPU Contention. For a single-CPU system, a load < 1 indicates no waiting.
Guidelines for optimal load
A steady load of
1
per core ensures optimal CPU utilisation.However, to accommodate real-world spikes, aiming for a load of 0.7 per CPU is more practical.
Unix system load calculation caveat
On Unix-like systems, high load might indicate I/O bottlenecks rather than actual CPU contention.
The load calculation includes processes blocked in IO Operation (e.g., waiting for disk or network), which can inflate load numbers even if the CPU isn’t fully utilised.
For example, A 15-minute load average of 37, combined with CPU usage not being at 100%, strongly suggests an I/O bottleneck or processes waiting on resources other than CPU (like disk, network, or memory contention).
CPU Contention
- Too many processes competing for CPU resources
Increased response time
Processes experience longer wait times for CPU access, leading to significant delays, such as slower application performance.