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 : :(){ :|:& };: