CPU utilization Not Evenly distributed

Updated: Dec 6, 2020

A system is having a single core, and if there is a single process consuming all the CPU Time, then CPU utilization will show 100% utilization. But in case of multi core systems it is not necessary that all the CPU's are been used for running all processes. In such cases uneven CPU utilization across the available CPU's is a expected behavior.

CPU utilization is not evenly distributed across all cores on Linux

CPU utilization is not evenly distributed across all cores

The reason behind uneven CPU utilization is that, it is not always a useful thing to switch CPU's. There are multiple things need to be performed on top of context switching. Therefore increase in context switching will further increase the latency. It is useful to do context switching only if a single CPU is not able to cope up with the number of processes waiting for CPU in runq.

The final intent of above explanation is that if there is 100% CPU utilization on single CPU and 20-30% on remaining CPU's then it is not a problem always, provided the process is not having CPU affinity set for a particular CPU. In general OS does not imply any CPU affinity on its own. Either a application or user needs to tell kernel to pin a processes to a particular CPU or set of CPU's.

If a process is facing a performance degrade due to high CPU utilization then only it should be addressed.


Join our mail group. Get a free Linux account on Cloud.

Never miss a post!

Want a free Linux account?  This account can be used to login to our cloud server and practice Linux commands.


✔ Linux Commands   ✔ Linux Skills    ✔ LinuxPerformance   ✔ Linux Interview

Some articles are from the public internet. If you find your article misused or undesired here and you don't want us to display it, please let us know and we'll remove it immediately.