Comment utiliser la commande top de Linux (et comprendre son résultat)

Principaux enseignements

  • La commande top de Linux est un utilitaire précieux qui fournit des informations critiques sur les performances du système et les processus en cours.
  • Malgré sa complexité initiale, top peut être personnalisé pour n’afficher que les informations pertinentes pour l’utilisateur.
  • Top prend en charge divers raccourcis clavier et des fonctions optionnelles telles que la couleur, le surlignage et les graphiques, afin d’améliorer la lisibilité des informations affichées.


L’application Linux top est l’un des piliers des systèmes d’exploitation de type Unix. Son affichage utilitaire est rempli d’informations utiles sur les processus en cours et l’utilisation des ressources de votre système. Mais saviez-vous qu’elle permet également de colorer, de surligner et même d’afficher des graphiques élémentaires ?


Un tableau de bord riche en informations

Le top existe depuis 1984 et il en existe de nombreuses variantes. Pour cet article, nous utilisons Ubuntu 18.04 avec tous les correctifs appliqués, et la version 3.3.12 de top. Depuis Ubuntu 23.04, très peu de choses ont changé. Nous avons également croisé les références sur deux autres ordinateurs de test, l’un fonctionnant sous Fedora et l’autre sous Manjaro.

Le système d’exploitation par défaut top affiche autant d’informations que possible dans la fenêtre du terminal. L’information est une condition préalable à l’administration, c’est donc une bonne chose. L’une des caractéristiques d’un bon administrateur système est sa capacité à identifier les problèmes émergents et à les traiter avant qu’ils n’affectent le service. top vous offre un tableau de bord de différentes mesures du système qui vous aide à faire cela.

L’affichage est plus fonctionnel qu’intuitif et les abréviations abondent. Lorsque vous rencontrez pour la première fois topl’affichage est étriqué, énigmatique et déconcertant. Cependant, en appuyant sur quelques touches, vous pouvez adapter le contenu et le format de l’affichage en fonction de ce qui est important pour vous.

Vérifiez votre version de top

Pour vérifier la version de top que vous avez, tapez ce qui suit dans une fenêtre de terminal :

top -v

top -v dans une fenêtre de terminal

Si votre version est loin derrière la 3.3.12, il se peut qu’elle ne supporte pas toutes les fonctionnalités que nous allons couvrir.

L’affichage par défaut

Vous pouvez démarrer top en tapant ce qui suit et en appuyant sur « Entrée » :

top

top dans une fenêtre de terminal

L’affichage par défaut contient deux zones d’information : la zone de résumé (ou tableau de bord) et la zone des tâches (ou liste des processus). Par défaut, top met à jour son affichage toutes les trois secondes, ce qui se traduit par un léger scintillement.

l'affichage supérieur par défaut dans une fenêtre de terminal

La première ligne de chiffres du tableau de bord indique l’heure, la durée de fonctionnement de l’ordinateur, le nombre de personnes connectées et la moyenne de charge pour les dernières minutes (1, 5 et 15). La deuxième ligne indique le nombre de tâches et leur état : en cours d’exécution, arrêté, en sommeil ou zombie.

La troisième ligne affiche les valeurs suivantes de l’unité centrale de traitement (UC) :

  • us : Temps que l’unité centrale consacre à l’exécution de processus pour des personnes dans « l’espace utilisateur ».
  • sy : Temps passé à exécuter les processus de l’espace noyau du système.
  • ni : Temps passé à exécuter des processus avec une valeur agréable définie manuellement.
  • id : Quantité de temps d’inactivité du CPU.
  • wa : Temps passé par l’unité centrale à attendre la fin des entrées/sorties.
  • hi : Temps passé à gérer les interruptions matérielles.
  • si : Temps passé à gérer les interruptions logicielles.
  • st : Temps perdu en raison de l’exécution de machines virtuelles (« steal time »).

La quatrième ligne indique la quantité totale (en kibytes) de mémoire physique, ainsi que la quantité de mémoire libre, utilisée et mise en mémoire tampon ou en cache.

La cinquième ligne indique la quantité totale (également en kibytes) de mémoire d’échange, ainsi que la quantité libre, utilisée et disponible. Cette dernière comprend la mémoire qui devrait pouvoir être récupérée dans les caches.

Les titres des colonnes de la liste des processus sont les suivants :

  • PID : ID du processus.
  • USER : Le propriétaire du processus.
  • PR : Priorité du processus.
  • NI : La valeur agréable du processus.
  • VIRT : Quantité de mémoire virtuelle utilisée par le processus.
  • RES : Quantité de mémoire résidente utilisée par le processus.
  • SHR : Quantité de mémoire partagée utilisée par le processus.
  • S : Statut du processus. (Voir la liste ci-dessous pour les valeurs que ce champ peut prendre).
  • %CPU : Part du temps CPU utilisé par le processus depuis la dernière mise à jour.
  • %MEM : La part de mémoire physique utilisée.
  • TIME+ : Temps total de CPU utilisé par la tâche en centièmes de seconde.
  • COMMANDE : Le nom de la commande ou la ligne de commande (nom + options).

Les valeurs de mémoire sont indiquées en kibytes. Les valeurs de mémoire sont indiquées en kibytes. COMMAND se trouve hors écran, à droite – elle ne tenait pas dans l’image ci-dessus, mais nous la verrons bientôt.

L’état du processus peut être l’un des suivants :

  • D : Sommeil ininterrompu
  • R : Course à pied
  • S : Dormir
  • T : Tracé (arrêté)
  • Z : Zombie

Appuyer sur Q pour quitter top.

Vous pouvez appuyer sur les flèches vers le haut ou vers le bas, sur les touches Home, End et Page Up ou Down pour vous déplacer vers le haut ou vers le bas et accéder à tous les processus.

Appuyez sur la flèche gauche ou droite pour déplacer la liste des processus sur le côté. Ceci est utile pour voir les colonnes qui ne tiennent pas dans les limites de la fenêtre du terminal.

Dans l’image ci-dessous, nous avons appuyé plusieurs fois sur la flèche droite pour voir la colonne COMMAND .

top avec la liste des processus défilant latéralement pour révéler la colonne des commandes, dans une fenêtre de terminal

Modification des unités numériques

Changeons les unités d’affichage pour des valeurs raisonnables. Appuyez sur la touche E majuscule pour faire défiler les unités utilisées pour afficher les valeurs de la mémoire dans ces options : kibibytes, mebibytes, gibibytes, tebibytes, pebibytes et exbibytes. L’unité utilisée est le premier élément des lignes quatre et cinq.

Appuyez sur le « e » minuscule pour faire la même chose avec les valeurs de la liste des processus : kibibytes, mebibytes, gibibytes, tebibytes et pebibytes.

Nous avons appuyé sur E pour fixer les unités de mémoire du tableau de bord à gibibytes et sur « e » pour fixer les unités de mémoire de la liste des processus à mebibytes.

top avec gibibytes et mebibytes utilisés pour les unités de mémoire dans une fenêtre de terminal

Modifier le contenu du résumé

Vous pouvez modifier les paramètres d’affichage des lignes du tableau de bord ou les supprimer complètement.

Appuyez sur l pour activer ou désactiver la ligne de récapitulation de la charge (la première ligne). Nous avons supprimé la ligne de résumé de la charge dans l’image ci-dessous.

Suppression de la ligne de résumé de chargement en haut d'une fenêtre de terminal

Si vous disposez d’un processeur multicœur, appuyez sur 1 pour modifier l’affichage et voir les statistiques individuelles de chaque processeur. Notre ordinateur comporte quatre unités centrales. Nous appuyons sur 1 pour connaître la charge de travail de chacune d’entre elles.

top avec l'affichage de l'unité centrale développé pour voir les statistiques individuelles de l'unité centrale, dans une fenêtre de terminal

Bien sûr, cela prend plus de place à l’écran dans la fenêtre du terminal.

Vous pouvez appuyer sur « t » pour remplacer l’affichage des CPU par de simples graphiques ASCII qui montrent le pourcentage d’utilisation de chaque CPU.

top avec des graphiques ASCII montrant la charge de travail de l'unité centrale, dans une fenêtre de terminal

Pour chaque unité centrale, top affiche trois nombres et le graphique. De gauche à droite, les chiffres sont les suivants :

  • La valeur combinée us et ni (espace utilisateur+tâches avec des paramètres non standard).
  • L’option sy pourcentage (espace noyau).
  • Le total (arrondi à une valeur entière).

Appuyez à nouveau sur « t » pour changer l’affichage du graphique en caractères d’imprimerie.

top avec des graphiques en blocs ASCII montrant la charge de travail de l'unité centrale, dans une fenêtre de terminal

Appuyez une nouvelle fois sur « t » pour supprimer complètement l’affichage de l’unité centrale et la ligne de résumé des tâches.

top avec les lignes d'affichage de l'unité centrale et de résumé des tâches supprimées, dans une fenêtre de terminal

Appuyez sur « m » pour faire défiler les lignes de mémoire et d’échange de mémoire à travers différentes options d’affichage. La première pression remplace les statistiques par un graphique ASCII.

haut de page montrant des graphiques ASCII pour les statistiques de la mémoire, dans une fenêtre de terminal

Une autre pression permet d’afficher le graphique en caractères d’imprimerie.

haut de page montrant des graphiques en blocs ASCII pour les statistiques de la mémoire, dans une fenêtre de terminal

Appuyez à nouveau sur « m » pour supprimer les lignes CPU.

top avec les lignes de mémoire et de swap supprimées de l'écran, dans une fenêtre de terminal

Si vous le souhaitez, vous pouvez voir les graphiques du CPU et de la mémoire en même temps. Appuyez simplement sur « t » et « m » jusqu’à ce que vous obteniez la combinaison souhaitée.

top avec des graphiques ASCII pour le CPU et la mémoire, dans une fenêtre de terminal

Couleur et surlignage

Vous pouvez appuyer sur « z » pour ajouter de la couleur à l’affichage.

top avec un affichage coloré, dans une fenêtre de terminal

Quand on pense à topvous ne pensez probablement pas à des écrans colorés et à des graphiques ASCII, mais ils sont intégrés dans le système.

Appuyez sur « y » pour mettre en évidence les tâches en cours dans la liste des processus. En appuyant sur « x », la colonne utilisée pour trier la liste des processus est mise en surbrillance. Vous pouvez basculer entre la mise en évidence du texte en gras et la mise en évidence inversée en appuyant sur « b ».

top avec une tâche en cours et une colonne triée mise en évidence par un texte inversé, dans une fenêtre de terminal

Tri par colonnes

Par défaut, la liste des processus est triée en fonction de la colonne %CPU . Vous pouvez modifier la colonne de tri en appuyant sur les touches suivantes :

  • P : Le %CPU colonne.
  • M : Le %MEM colonne.
  • N : Le PID colonne.
  • T : Le TIME+ colonne.

Dans l’image ci-dessous, la liste des processus est triée par la colonne PID .

top avec la liste des processus triés par la colonne PID, dans une fenêtre de terminal

Voir la ligne de commande complète

En appuyant sur « c », la colonne COMMANDE peut afficher le nom du processus ou la ligne de commande complète.

haut de page affichant la ligne de commande complète dans la colonne commande, dans une fenêtre de terminal

Pour afficher une « arborescence » des processus qui ont été lancés ou engendrés par d’autres processus, appuyez sur V.

Voir les processus pour un seul utilisateur

Appuyez sur « u » pour afficher les processus d’un seul utilisateur. Le nom ou l’UID de l’utilisateur vous sera demandé.

Invite de l'utilisateur dans une fenêtre de terminal.

Saisissez le nom de l’UID de la personne que vous souhaitez surveiller. Nous allons taper « dave » et appuyer sur « Entrée ». À présent, les seuls processus de la zone des tâches appartiennent à l’utilisateur dave.

top affichage des tâches pour un seul utilisateur, dans une fenêtre de terminal

Ne voir que les tâches actives

Appuyez sur I pour ne voir que les tâches actives.

top affichant uniquement les tâches actives, dans une fenêtre de terminal

Les tâches qui n’ont pas consommé de CPU depuis la dernière mise à jour ne seront pas affichées.

Définir le nombre de processus à afficher

Appuyez sur « n » pour limiter l’affichage à un certain nombre de lignes, que les tâches soient actives ou non. Le système vous demandera d’indiquer le nombre de processus à afficher.

invite en haut de page pour le nombre de lignes à afficher, dans une fenêtre de terminal

Nous avons tapé 10 et appuyé sur Entrée, 10 processus apparaissent donc dans la zone des tâches.

top affichage de dix processus dans la zone des tâches, dans une fenêtre de terminal

Renice un processus

Vous pouvez appuyer sur « r » pour modifier la valeur « nice » (priorité) d’un processus. Le système vous demandera l’ID du processus. Appuyez simplement sur Entrée pour utiliser l’ID du processus de la tâche en haut de la fenêtre du processus. Nous tapons 7800, qui se trouve être l’ID du processus d’une instance de Firefox.

invite supérieure pour l'ID d'un processus, dans une fenêtre de terminal

Après avoir appuyé sur Entrée, on vous demande la nouvelle valeur nice à appliquer au processus. Nous tapons 15, puis nous appuyons sur Entrée.

top réglage d'un processus à une valeur agréable de 15, dans une fenêtre de terminal

La nouvelle valeur agréable est appliquée au processus immédiatement.

Tuer un processus avec top

Appuyez sur « k » pour tuer un processus. Le système vous demandera alors l’identifiant du processus que vous souhaitez tuer. En fait, vous pouvez envoyer n’importe quel signal au processus. Nous allons tuer le processus 7879, qui a cessé de répondre.

top demande l'identifiant d'un processus, dans une fenêtre de terminal

Il vous sera proposé de saisir le signal que vous souhaitez envoyer. Vous pouvez le spécifier par un nom ou un numéro. Si vous appuyez simplement sur Entrée, top envoie le SIGTERM (kill).

top demandant un signal à envoyer, dans une fenêtre de terminal

Dès que vous appuyez sur Entrée, le signal est envoyé au processus.

Personnalisation de l’affichage

Vous pouvez également personnaliser les couleurs et les colonnes affichées. Nous allons modifier la couleur utilisée pour les invites, dont la couleur par défaut est le rouge.

top affichant une invite rouge clair, dans une fenêtre de terminal

Appuyez sur la touche Z majuscule pour accéder à la page de paramétrage des couleurs. La partie supérieure de l’écran affiche les couleurs utilisées par les différents éléments d’affichage. Pour indiquer l’élément d’affichage que vous souhaitez modifier, appuyez sur l’une des touches suivantes, qui sont sensibles à la casse :

  • S: Résumé de la zone de données.
  • M: Messages et invites.
  • H: En-têtes de colonnes.
  • T: Informations sur la tâche dans la liste des processus.

Nous appuyons sur M pour modifier les invites.

page de paramétrage des couleurs du haut avec l'option M sélectionnée, dans une fenêtre de terminal

Pour choisir une couleur, appuyez sur l’un des numéros suivants :

  • 0 : Noir.
  • 1 : Rouge.
  • 2 : Vert.
  • 3 : Jaune.
  • 4 : Bleu.
  • 5 : Magenta.
  • 6 : Cyan.
  • 7 : Blanc.

Nous appuyons sur 6 pour utiliser le cyan.

fenêtre de paramétrage des couleurs en haut avec la couleur 6 sélectionnée, dans une fenêtre termnale

Appuyez sur Entrée pour enregistrer vos paramètres. Les invites de saisie seront désormais dans la couleur que vous avez sélectionnée.

top avec une invite cyan, dans une fenêtre de terminal

Nous pouvons également modifier les colonnes affichées dans l’écran Gestion des champs. Appuyez sur F pour accéder à l’écran Gestion des champs.

haut de la page montrant l'écran de gestion des champs, dans une fenêtre de terminal

Les champs affichés ont un astérisque (* ) et sont mis en évidence en gras. Appuyez sur les flèches Haut et Bas pour déplacer la surbrillance dans la liste des champs.

Si vous déplacez la surbrillance en bas d’une colonne, elle apparaîtra en haut de la suivante (sauf si vous êtes en bas de la dernière colonne). Si vous déplacez la surbrillance en haut d’une colonne, elle apparaîtra en bas de la colonne précédente (sauf si vous êtes en haut de la première colonne).

Nous avons déplacé la mise en évidence vers le COMMAND puis nous avons appuyé sur « d » pour supprimer l’astérisque (*). Nous sommes ensuite passés à l’entrée UID et nous avons appuyé sur « d » pour placer un astérisque à côté de cette entrée. Cela signifie que l’entrée COMMAND ne sera pas affichée, mais la colonne UID sera affichée.

haut de l'écran de gestion des champs avec la colonne UID sélectionnée, dans une fenêtre de terminal

Pendant que la surbrillance est sur la colonne UID nous appuyons sur « s » pour trier la liste des processus sur la colonne UID .

haut de l'écran de gestion des champs avec la colonne UID définie comme colonne de tri, dans une fenêtre de terminal

Appuyez sur Entrée pour enregistrer vos paramètres, puis appuyez sur « q » pour quitter l’écran de gestion des champs.

top avec la colonne UID affichée et définie comme colonne de tri, dans une fenêtre de terminal

Le UID a remplacé la colonne COMMAND et la liste des processus est triée en fonction de cette colonne.

Mode d’affichage alternatif

Ce mode fonctionne mieux en mode plein écran. Appuyez sur A pour afficher quatre zones dans la liste des processus, puis appuyez sur « a » pour passer d’une zone à l’autre.

top avec l'affichage alternatif activé, dans une fenêtre de terminal

Chaque zone dispose d’une collection de colonnes différente, mais chacune est également personnalisable par le biais de l’écran de gestion des champs. Cela vous permet d’avoir un affichage plein écran personnalisé montrant des informations différentes dans chaque zone, et la possibilité de trier chaque zone par une colonne différente.

Autres touches

Voici d’autres touches qui pourraient vous être utiles pour top:

  • W: Sauvegarder vos paramètres et personnalisations pour qu’ils soient toujours en vigueur au prochain démarrage. top.
  • d: Définir un nouveau taux de rafraîchissement de l’affichage.
  • Espace: Force top à rafraîchir son affichage dès maintenant.

Existe-t-il des alternatives à Top ?

Comme nous l’avons vu, top a un sacré répertoire. Cependant, il existe des alternatives si vous souhaitez quelque chose de différent. L’utilitaire htop est probablement l’alternative la plus courante et la plus populaire à top, car il est léger. Il sera immédiatement familier à tous ceux qui ont déjà utilisé top, mais il a des couleurs appliquées dès le départ qui le rendent plus facile à lire. Les commandes sont également joliment indiquées en bas de l’écran.

Htop sur Ubuntu.

L’avantage majeur top est son ubiquité – top est installé partout. Lorsque vous vous rendez dans des entreprises pour examiner des réseaux ou des serveurs, on vous dira souvent que rien ne peut être changé sur les serveurs actifs. C’est le client qui fixe les règles, il faut donc utiliser ce qui est déjà installé.

Même si vous préférez un autre outil de surveillance, vous devriez apprendre à connaître top. Tôt ou tard, vous vous retrouverez probablement dans une situation où vous n’aurez accès qu’à cet outil.

Laisser un commentaire