top
top est un outil de monitoring qui permet de connaître en temps "réel" la santé de son Linux.
Je vous l'avoue, ce n'est pas mon outil préféré, mais il a l'avantage d'être présent sur la majorité des Linux et des Unix.
J'ai une fois eu la surprise de le voir sur un Mac.
Voici à quoi il ressemble :
Code : Tout sélectionner
top - 21:37:36 up 39 days, 5:33, 1 user, load average: 0.08, 0.11, 0.13
Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.3 us, 5.6 sy, 0.0 ni, 89.7 id, 0.0 wa, 0.0 hi, 1.3 si, 0.0 st
KiB Mem: 382840 total, 348880 used, 33960 free, 76972 buffers
KiB Swap: 102396 total, 0 used, 102396 free, 231580 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2710 pi 20 0 43804 11m 8704 S 6.9 3.1 2631:51 vlc
3 root 20 0 0 0 0 S 1.6 0.0 477:28.77 ksoftirqd/0
14308 pi 20 0 4700 1432 1036 R 0.7 0.4 0:00.37 top
1 root 20 0 2148 720 616 S 0.3 0.2 2:16.18 init
30 root 1 -19 0 0 0 S 0.3 0.0 296:19.20 VCHIQ-0
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
...
Prenons la première partie :
Code : Tout sélectionner
top - 21:37:36 up 39 days, 5:33, 1 user, load average: 0.08, 0.11, 0.13
Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.3 us, 5.6 sy, 0.0 ni, 89.7 id, 0.0 wa, 0.0 hi, 1.3 si, 0.0 st
KiB Mem: 382840 total, 348880 used, 33960 free, 76972 buffers
KiB Swap: 102396 total, 0 used, 102396 free, 231580 cached
Cette partie permet d'avoir une vue globale du système.
Décortiquons un peu cette partie :
Code : Tout sélectionner
top - 21:37:36 up 39 days, 5:33, 1 user, load average: 0.08, 0.11, 0.13
Cette ligne nous donnes exactement les mêmes informations que la commande
uptime.
Je vous invite à (re)lire
mon article sur cette commande.
Jetons un oeil sur le seconde ligne :
Cette seconde ligne nous informe sur le nombre de processus s’exécutant sur le système.
Nous savons, grâce à elle, que nous avons actuellement 64 Processus sur le système.
Nous savons qu'il n'y en a qu'un qui tourne.
Pour le RPI, nous n'aurons toujours 1, très rarement plus, car le RPI est un mono CPU mono Core.
Il n'est, par contre, pas rare de voir plus lorsque nous somme sur un système plus évolué.
Nous savons que 63 processus sont "endormi", ou plus précisément, attendent un créneau afin de pouvoir d’exécuté.
Si on regarde bien, 64 - 1 = 63 ... le compte y est !
Et pour finir, nous savons que nous avons 0 stoppé et 0 zombie.
Si vous découvrez qu'il y a des zombies sur votre système, au lieu de sortir la hache et le kit de survie ...
Posez-vous (ou plutpôt, pausez-NOUS) la question "pourquoi ai-je des processus zombie sur mon système?" nous y regarderons ensemble.
Analysons la troisième ligne :
Code : Tout sélectionner
%Cpu(s): 3.3 us, 5.6 sy, 0.0 ni, 89.7 id, 0.0 wa, 0.0 hi, 1.3 si, 0.0 st
Cette ligne nous donne les informations sur l'utilisation du CPU.
Comme on le sait tous, le CPU du RPI est limité, il serai agréable de préserver cette précieuse ressource.
Nous pouvons voir que :
3,3% est utilisé par les processus utilisateur.
5,6% est utilisé par le système.
0,0% est utilisé par les processus "privilégié/prioritaire".
89,7% est en "attente".
0,0% est utilisé pour les ressources d'entrée/sortie, typiquement, l'accès disque, réseau, mémoire, ...
0,0% est utilisé pour les interruptions systèmes.
1,3% est utilisé pour les interruptions logicielles.
0,0% est utilisé par un invité virtualisé, ce genre de cas est difficile avec un RPI.
Que nous apprend la quatrième ligne :
Code : Tout sélectionner
KiB Mem: 382840 total, 348880 used, 33960 free, 76972 buffers
Elle nous donne des informations sur l'utilisation de la mémoire.
Nous avons :
382840 Ko utilisable par le système (~374 Mo)
348880 Ko utilisé par le système (~341 Mo)
33960 Ko libre pour le système (~33 Mo)
76972 Ko utilisé pour le buffering (~75 Mo), elle également comptabilisée dans la mémoire utilisée !
Et Mais ! On a pas nos 512 Mo (oui, c'est un B+) ...
Normale ! N'oubliez pas que le système réserve 128 Mo pour le GPU !
On fait le compte : 374 + 128 = 502 Mo. CQFD ! Et oui, les fabriquants de puce ne fournisse que très rarement la place promise.
Et la dernière ligne :
Elle nous informe sur l'état d'utilisation de la SWAP.
Nous savons que :
102396 Ko sont utilisables (~100 Mo)
0 Ko sont utilisés
102396 Ko sont libres (~100 Mo)
Petite astuce : Le dernier chiffre est relié à l'utilisation de la RAM.
Comme le Buffering, il y a une Cache créée par le système qui est également comptabilisée dans la mémoire utilisée !
Ici, nous avons 231580 Ko utilisée pour le Cache (~226 Mo).
Intéressons nous à la seconde partie de top :
Code : Tout sélectionner
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2710 pi 20 0 43804 11m 8704 S 6.9 3.1 2631:51 vlc
Dans cette partie, nous avons les informations des principaux processus du système, le tout en colonne :
PID : est le Process IDentifier.
USER : est le propriétaire du processus.
PR: est la priorité d'ordonnancement du processus.
NI : est la priorité du processus.
VIRT : est la mémoire "virtuelle" utilisée.
RES : est la mémoire non swappée utilisée.
SHR : est la mémoire partagée utilisée.
S : est le statut du processus, c'est ici que l'on vois si c'est un zombie.
%CPU : est le pourcentage de CPU consommé par le processus.
%MEM : est le pourcentage de mémoire consommée par le processus.
TIME+ : est le temps en seconde CPU consommé par le processus.
COMMANDE : la commande du processus.
Ici nous pouvons voir que le processus 2710 de l'utilisateur pi consomme 6.9% de CPU et 3.1% de RAM,
Que celui-ci à consommé l’équivalent de 2632 Secondes de CPU et que sa commande est VLC.
A bientôt pour la suite.