enter image description here

I have ubuntu running on a multi-core CPU with 32 cores. When I check the cpu usage using top command, sometime it shows more than 100 %, like 340%, 650% etc. I did some investigation and found that its actually a sum of usages across different cores. For example if 1st cpu usages is 20% , 2nd is 30%, 3rd is 40% and remaining are 0% then ‘top’ shows 20+30+40=90%.

Its bit confusing and misleading. I believe the top command should display the CPU usages between 0 to 100 by calculating the usages across all the cores. In my example above, I would expect -(90*100)/3200 =2.8125% . Is this a bug with top command ? should it be considered as an enhancement for future releases? please advise

  • It is not a bug, this is standard top behavior, and it is probably too lte to change it. Nothing stops you from using another command with a different reporting convention however :) – 0xF2 Dec 8 '15 at 4:47
  • 1
    Out of curiosity, what CPU is this? One of those newfangled ARM64 systems? – 0xF2 Dec 8 '15 at 4:48
  • CPU1 & CPU2 - Intel(R) Xeon(R) CPU E5-2670 @2.60 GHz (8 Cores) – Poonam Srivatava Dec 8 '15 at 18:28

By default, top displays CPU usage as a percentage of a single CPU. On multi-core systems, you can see percentages of CPU usage are greater than 100%. You can toggle this behavior by hitting Shift + i while top is running to show the overall percentage of available CPUs in use.

htop is a better alternative of top. In htop, you can see how your programs consuming all of the 32 cores.

| improve this answer | |
  • Hello - thanks for this insight. I'm new to working on a multi-core system, so I'm wondering why all cores are being used in this case. I have similar behavior sometimes when I am not doing parallelized operations. It seems dependent on the size of my operation and memory required (I'm working with R). Everything seems to slow down when this spillover to other CPUs occurs. – Marc in the box Sep 2 '19 at 14:38

looks like I found a way :-) if I switch to solaris mode while running the top command it shows the correct cpu usage. To switch to the solaris mode first run the top command then press shift+i

reference articles

https://help.gnome.org/users/gnome-system-monitor/stable/solaris-mode.html.en https://unix.stackexchange.com/questions/15733/why-process-cpu-usage-larger-than-total-cpu-time

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.