top command on ubuntu multicore cpu shows cpu usage >100%

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

3

3 Answers

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.

2

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

0
  1. You have to use the "-H" option to get the actual CPU usage of threads. Let's take I have a program "load", this program creates three threads. Each thread is in an infinite loop to make CPU utilization 100%.
  2. Here parent has ID = 181906, thread-1 ID = 181907, thread-2 ID = 181908 and thread-3 ID = 181909.
  3. Using the top command, I see load with ID = 181906 has 300% CPU.
  4. After using top -H -p 181906 then, load ID = 181906 0 %CPU thread1 ID = 181907 99 %CPU thread2 ID = 181908 99 %CPU thread3 ID = 181909 99 %CPU

So, final word, use the -H option along with the top -p option to get actual CPU utilization.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like