top
command 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 physical or virtual 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 percentage 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