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 top
l’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
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
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.
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
.
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.
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.
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.
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.
Pour chaque unité centrale, top
affiche trois nombres et le graphique. De gauche à droite, les chiffres sont les suivants :
- La valeur combinée
us
etni
(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.
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.
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.
Une autre pression permet d’afficher le graphique en caractères d’imprimerie.
Appuyez à nouveau sur « m » pour supprimer les lignes CPU.
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.
Couleur et surlignage
Vous pouvez appuyer sur « z » pour ajouter de la couleur à l’affichage.
Quand on pense à top
vous 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 ».
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
.
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.
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é.
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
.
Ne voir que les tâches actives
Appuyez sur I pour ne voir que les tâches actives.
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.
Nous avons tapé 10 et appuyé sur Entrée, 10 processus apparaissent donc dans la zone des tâches.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
Pendant que la surbrillance est sur la colonne UID
nous appuyons sur « s » pour trier la liste des processus sur la colonne UID
.
Appuyez sur Entrée pour enregistrer vos paramètres, puis appuyez sur « q » pour quitter l’écran de gestion des champs.
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.
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.
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.