44

I am using freescale IMX6 quad processor. I want to know if the top command lists the CPU usage of all 4 cores or of a single core. I am seeing an application's CPU usage being the same with 4 cores and with a single core. I was guessing the CPU usage by the application will increase on a single core and decrease on 4 cores but it has not changed.

  • 5
    try pressing 1 while top is running – Dani_l Jul 23 '14 at 10:57
  • Could you please elaborate. As in what happens if I press 1. Because I am getting this inconsistent result since 2 days. – user3818847 Jul 23 '14 at 10:59
  • you may find this link useful: unix.stackexchange.com/questions/41311/cpu-and-core-usage-stats – Tejas Jul 23 '14 at 11:05
  • 1
    Which application is that? Why do you think your application should use multiple cores if available? There are many applications out there that work on a single CPU/core and for which nobody bothered to take the time to parallize them. – Anthon Jul 23 '14 at 11:05
  • 2
    no. if multiple cores, they accumulate to over 100%. 4 cores can get as high as 800% with hyperthreading on each core – Dani_l Jul 23 '14 at 11:35
65

I'm not entirely sure what you're asking here. Yes, top shows CPU usage as a percentage of a single CPU by default. That's why you can have percentages that are >100. On a system with 4 cores, you can see up to 400% CPU usage.

You can change this behavior by pressing I (that's Shift + i and toggles "Irix mode") while top is running. That will cause it to show the pecentage of available CPU power being used. As explained in man top:

    1. %CPU  --  CPU Usage
       The task's share of the elapsed CPU time since the last screen
       update, expressed as a percentage of total  CPU  time.   In  a
       true  SMP environment, if 'Irix mode' is Off, top will operate
       in 'Solaris mode' where a task's cpu usage will be divided  by
       the  total  number  of  CPUs.  You toggle 'Irix/Solaris' modes
       with the 'I' interactive command.

Alternatively, you can press 1 which will show you a breakdown of CPU usage per CPU:

top - 13:12:58 up 21:11, 17 users,  load average: 0.69, 0.50, 0.43
Tasks: 248 total,   3 running, 244 sleeping,   0 stopped,   1 zombie
%Cpu0  : 33.3 us, 33.3 sy,  0.0 ni, 33.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  : 16.7 us,  0.0 sy,  0.0 ni, 83.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 60.0 us,  0.0 sy,  0.0 ni, 40.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8186416 total,  6267232 used,  1919184 free,   298832 buffers
KiB Swap:  8191996 total,        0 used,  8191996 free,  2833308 cached
  • 1
    with hyperthread I believe you can see up to 800% as /proc/cpuinfo will show each thread as a cpu – Dani_l Jul 23 '14 at 11:37
  • @Dani_l yes, whether the "core" is physical or virtual is irrelevant, it is treated as a "CPU" by top. The output I show is from my laptop which has a single physical CPU with two cores, each of which has a 2nd logical core. The result is that top sees 4 cores. – terdon Jul 23 '14 at 11:44
  • Sorry for the nitpicking, in my dayjob we have to distinguish between sockets, cores and threads when reserving resources. I guess the habit stuck. – Dani_l Jul 23 '14 at 11:48
9

just click on '1' while top is running

  • 5
    This answer is in the comments for years now... please add something new. – yeti Mar 28 '18 at 12:05
0

If you're wanting to open top immediately displaying separate CPUs without needing to press 1, you can use the -1 option.

e.g.:

top -1

...
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 44.7 us, 55.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  : 46.7 us, 53.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
...     

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.