Blue Flower

La commande top donne des informations globales sur les performances de votre PC et liste les processus accaparant le plus de ressources. 

Voici un exemple :

top - 22:02:16 up 9 min,  3 users,  load average: 0,34, 0,36, 0,24
Tasks: 210 total,   1 running, 209 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1,5 us,  0,8 sy,  0,0 ni, 97,7 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   3974772 total,  1617432 used,  2357340 free,    46520 buffers
KiB Swap:  7811068 total,        0 used,  7811068 free.   636896 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 1194 root      20   0  363776  49076  21204 S   3,3  1,2   0:08.10 Xorg        
 2980 thierry   20   0  665036  21384  13544 S   2,7  0,5   0:00.91 gnome-term+ 
 2323 thierry   20   0 1631868 115916  42228 S   2,0  2,9   0:08.66 compiz      
 2745 thierry   20   0  773200  92868  31080 S   0,7  2,3   0:03.13 chrome      
 3042 thierry   20   0   29176   1716   1188 R   0,7  0,0   0:00.53 top         
   68 root      20   0       0      0      0 S   0,3  0,0   0:00.26 kworker/0:1   

Explications sur la première ligne

Elle indique que le PC est démarré depuis 22h02, soit depuis 9 minutes. 3 utilisateurs sont connectés, ce qui peut être vérifié par la commande who (en l’occurrence il s'agit de trois sessions pour le même user).

load average 0.34 => charge sur la dernière minute

load average 0.36 => charge sur les 5 dernières minutes

load average 0.24 => charge sur les 15 dernières minutes

Une charge de 100% ne vaut pas dire que le système est saturé étant donné que vous avez probablement un PC multi cœurs.

Explications sur la deuxième ligne

Elle indique donc le nombre de processus au total et le nombre de processus utilisant le processeur.

Explications sur la troisième ligne

us : indique le pourcentage de CPU utilisé par les utilisateurs du système

sy : indique le pourcentage de CPU utilisé par le noyau linux

ni : indique le pourcentage de CPU utilisé par les processus qui ont été nicés (c'est à dire dont la priorité est différente de la priorité normale)

id : indique le pourcentage de CPU non utiilisé

wa : indique le pourcentage de CPU en attente d'I/O

hi : indique le pourcentage de CPU utilisé par les interruptions matérielles

si: indique le pourcentage de CPU utilisé par les interruptions logicielles

Explications sur la quatrième et cinquième ligne

Il s'agit de la mémoire physique et de la mémoire virtuelle.

 

Redirection dans un fichier

top -n 1 -b > top-output.txt

 

Test de la commande top en générant de la charge

Pour tester top, simulons de la charge. Ci-dessous quelques exemples.

dd if=/dev/zero of=/dev/null

ou

while true; do true; done
while true; do /bin/true; done

ou

thierry@PC2:~$ NUMCPU=8
thierry@PC2:~$ for ((i=0;i<$NUMCPU;i++));do echo 'scale=100000;pi=4*a(1);0' | bc -l & done ; sleep 10; killall bc

top indique alors :

top - 22:31:22 up 38 min,  4 users,  load average: 2,40, 0,93, 0,48
Tasks: 222 total,   9 running, 213 sleeping,   0 stopped,   0 zombie
%Cpu(s): 99,6 us,  0,4 sy,  0,0 ni,  0,0 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   3974772 total,  1934824 used,  2039948 free,    53204 buffers
KiB Swap:  7811068 total,        0 used,  7811068 free.   781820 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
29826 thierry   20   0    9384   1336    656 R  51,9  0,0   0:03.86 bc          
29828 thierry   20   0    9384   1264    656 R  49,9  0,0   0:03.78 bc          
29830 thierry   20   0    9384   1332    656 R  49,9  0,0   0:03.77 bc          
29832 thierry   20   0    9384   1336    656 R  49,9  0,0   0:03.76 bc          
29836 thierry   20   0    9384   1332    656 R  49,9  0,0   0:03.77 bc          
29834 thierry   20   0    9384   1332    656 R  48,9  0,0   0:03.76 bc          
29822 thierry   20   0    9384   1332    656 R  47,9  0,0   0:03.65 bc          
29824 thierry   20   0    9384   1336    656 R  47,9  0,0   0:03.65 bc          
 1194 root      20   0  366084  49972  22096 S   1,3  1,3   0:42.93 Xorg 

=> on voit une charge de 2.40, ce qui montre que le PC a plusieurs coeurs

 

On peut aussi tester avec fork bomb : :(){ :|:& };: