Linux / Commande top : suivre les processus et leur utilisation CPU et mémoire
top affiche les processus Linux et actualise régulièrement leur utilisation du processeur et de la mémoire. Il aide à repérer les tâches qui consomment des ressources lorsque la machine ralentit. Observez plusieurs mises à jour et le rôle des programmes avant de conclure qu'une valeur élevée révèle une panne.
Ouvrir top, trier et quitter
Dans un terminal Linux disposant de top du projet procps-ng, lancez :
top
La partie supérieure résume le système ; la liste inférieure présente les tâches. Ces deux zones se rafraîchissent. Les touches suivantes s'utilisent directement dans l'écran de top, sans les saisir comme commandes du shell :
| Touche | Action |
|---|---|
P majuscule |
Choisir le tri par utilisation CPU. |
M majuscule |
Choisir le tri par mémoire. |
h |
Afficher l'aide interactive. |
q |
Quitter top et retrouver le shell. |
Ne confondez pas quitter top avec terminer un processus observé. La touche k, lorsqu'elle est disponible, envoie un signal à une tâche : elle n'est pas nécessaire pour fermer l'écran de surveillance.
Lire les deux parties de l'écran
La disposition dépend de la version, de la langue et des réglages. Voici seulement la structure d'un affichage textuel, sans mesures réelles :
top - ... load average: ...
Tasks: ... total, ... running
%Cpu(s): ... us, ... sy, ... id
MiB Mem : ... total, ... free, ... used
...
PID USER ... %CPU %MEM ... COMMAND
Commencez par le résumé CPU et mémoire, puis examinez les processus qui dominent le tri choisi. Dans la ligne CPU, us correspond au temps utilisateur, sy au temps système et id à l'inactivité. La ligne d'une tâche associe son identifiant PID à ses valeurs : relevez le PID et le nom avant de poursuivre l'enquête.
Une faible mémoire free ne suffit pas à conclure à une pénurie. Le champ avail estime la mémoire utilisable par de nouvelles applications en tenant compte de mémoire récupérable. Les unités et les colonnes étant configurables, vérifiez ce que l'écran affiche avant de comparer deux relevés.
Observer un seul PID et choisir un intervalle
Si vous avez déjà identifié une tâche avec ps et ses colonnes PID et commande, remplacez 1234 par son identifiant :
top -p 1234
Vous concentrez ainsi la liste sur cette sélection. Pour un rafraîchissement demandé toutes les deux secondes :
top -d 2 -p 1234
Ce délai règle l'observation, pas la fréquence d'exécution de l'application. Si le processus s'arrête, une liste sans sa ligne ne permet pas à elle seule de savoir s'il s'est terminé normalement ou s'il a échoué. Consultez son état de service ou ses journaux si cette distinction est nécessaire.
Utiliser une sortie bornée en mode batch
Le mode batch produit du texte sans écran interactif. Avec une seule mise à jour :
top -b -n 1
Pour observer trois affichages espacés d'une seconde puis laisser la commande se terminer :
top -b -d 1 -n 3
-b choisit le mode batch, -d le délai et -n le nombre d'affichages. Le résultat comprend plusieurs résumés successifs, pas uniquement une liste finale. Pour un contrôle ciblé, ajoutez -p 1234 après avoir vérifié le PID.
Une seule sortie reste un instantané et la première mesure CPU peut refléter une période de calcul différente des mises à jour suivantes. Conservez plusieurs observations si vous souhaitez comprendre une variation. Ne confondez pas la durée CPU cumulée d'un processus avec son pourcentage d'utilisation sur l'intervalle observé.
Interpréter les valeurs dans leur contexte
Selon le mode de calcul et l'affichage des threads, un processus multithread qui utilise plusieurs processeurs peut dépasser 100 % CPU. Dans le mode Solaris de top, l'utilisation d'une tâche est divisée par le nombre total de processeurs ; le mode Irix utilise une autre normalisation. Vérifiez ce réglage avant de comparer des pourcentages provenant de machines ou d'écrans différents.
Une consommation élevée peut être attendue pendant une compilation, un traitement de données ou une sauvegarde. Comparez sa durée, la tâche concernée et le ralentissement constaté. Top aide à identifier un candidat, mais ne prouve pas à lui seul la cause du problème.
Avant toute action sur un processus, confirmez de nouveau son PID et son nom. La documentation de top du projet procps-ng détaille les champs, options et touches. Consultez man top pour la version installée : les implémentations et configurations peuvent différer.




