Top est une commande et outil Linux est un genre de gestionnaire de tâches qui permet de faire beaucoup de choses avec les processus.
Avec cette application vous pouvez :
- Lister et interagir avec les processus en cours d’exécution
- Visualiser l’utilisation CPU et mémoire globale et par processus
- Vérifier l’utilisation globale de la CPU et mémoire
Cet article vous présente top et comment utiliser top pour gérer les processus sur Linux.
Table des matières
- 1 Comment lire top
- 2 Comment utiliser top
- 2.1 Afficher les chemins complets
- 2.2 Afficher la hiérarchie des processus
- 2.3 Tuer et priorité d’un processus
- 2.4 Lister les processus d’un utilisateur
- 2.5 Tier la liste
- 2.6 Comment afficher tous les cores du processeur
- 2.7 Afficher l’utilisation CPU avec un graphique
- 2.8 Changer les unités de mesures (T, G, M, k)
- 2.9 Comment changer les couleurs
- 3 Quelques exemples de la commande top
- 4 Alternative avec ps
- 5 Liens
Comment lire top
Bien entendu, sur Linux existe des outils graphiques comme sur Windows.
Ci-dessous on peut voir la ressemblance avec le gestionnaire de tâches de Windows.
Top, lui, s’utilise dans un terminal et donc très utile en SSH.
La plupart des distributions Linux l’inclut
En effet il fait partie des outils essentiels.
On arrive alors à un écran qui ressemble à celui-ci avec la liste des processus en colonne.
En haut se trouve des informations générales.
Comment lire l’en-tête de top
Il s’agit donc d’information générale avec :
- L’uptime : Le temps depuis que la machine est allumée sans avoir redémarré.
- Le nombre d’utilisateur connecté. ici on voit 5 users.
- Le load average de la machine. Cela permet de vérifier si la charge de travail du système est trop important
- Le nombre de processus en cours de fonctionnement.
- L’utilisation CPU générale détaillée par :
- utilisateur, us : pourcentage d’utilisation de la CPU qui s’est produit lors de l’exécution au niveau utilisateur (application).
- nice,ni : pourcentage d’utilisation de la CPU qui s’est produit lors de l’exécution au niveau utilisateur avec une priorité nice.
- système,sy : pourcentage d’utilisation du processeur qui s’est produit lors de l’exécution au niveau du système (noyau Linux).
- iowait,wa : Pourcentage de temps pendant lequel le ou les processeurs étaient inactifs au cours desquels le système avait une demande d’E / S de disque en attente.
- hardware interruption,hi : montre le temps pour servir les interruptions matérielles.
- software interruption,si : temps passé sur les interruptions logicielles.
- inactif, idle : Pourcentage de temps pendant lequel la ou les UC ont été inactives et que le système n’a pas eu de demande d’E / S de disque en attente.
Enfin les infos mémoires totale, libre et utilisé ainsi que le SWAP.
Si la machine possède plusieurs avec un processeur à plusieurs cores alors ces derniers s’affichent en liste.
Vous pouvez retirer ces infos avec les touches c, t et m.
Enfin la couleur se donne avec la touche z.
Comment lire les colonnes dans top
Ensuite les processus s’affichent en liste avec des colonnes.
Voici le détails des colonnes.
- PID – Identifiant du processus de la tâche.
- USER – Nom d’utilisateur du propriétaire de la tâche.
- PR – Priorité de la tâche.
- NI – valeur nice de la tâche. Si la valeur de transaction est négative, le processus devient prioritaire. Si la valeur de transaction est positive, la priorité est faible.
- VIRT – Quantité totale de mémoire virtuelle utilisée par la tâche.
- RES – Resident Memory Size, la mémoire physique non permutée qu’une tâche utilise actuellement.
- SHR – Taille de la mémoire partagée. Quantité de mémoire partagée utilisée par une tâche.
- S – L’état du processus (S = sommeil R = en cours d’exécution Z = zombie).
- %CPU – utilisation du processeur. Part du temps CPU écoulé depuis la dernière mise à jour de l’écran, exprimée en pourcentage du temps CPU total.
- %MEM – Utilisation de la mémoire. Part actuellement occupée par une tâche de la mémoire physique disponible.
- TIME + – Temps CPU total utilisé par la tâche depuis le début, avec une précision au centième de seconde.
- COMMAND – Nom du programme en cours d’exécution.
Pour la mémoire, lire cet article complet :
Comment utiliser top
Voici quelques exemple d’utilisation de top.
En effet beaucoup de touches raccourcis existent afin d’effectuer les actions souhaitées.
Afficher les chemins complets
La touche c permet d’afficher les chemins complets des processus.
Afficher la hiérarchie des processus
Pour afficher les processus avec leurs hiérarchie (processus parents et enfants), appuyez sur la touche v.
Tuer et priorité d’un processus
top permet aussi de tuer un processus avec la touche k.
On vous demande ensuite le PID du processus à arrêter.
Par défaut on vous propose le premier de la liste.
Enfin on peut changer la priorité d’un processus de la même manière avec la touche r (pour renice).
Lister les processus d’un utilisateur
L’option -u vous permet d’afficher tous les processus spécifiques à l’utilisateur.
Appuyez sur la touche u pendant que top est en cours d’exécution ou utilisez la syntaxe suivante :
top -u <nom utilisateur>
En mode interactif, la touche u permet de demander le nom ou l’ID de l’utilisateur.
Tier la liste
On peut trier les colonnes afin d’afficher ce que l’on souhaite.
Cela se fait avec les touches < >
Vous pouvez aussi l’outil en tirant directement.
Par exemple pour trier sur la CPU ou mémoire :
top -o %CPU
top -o %MEM
Les touches raccourcis pour un tri direct.
-
m – Trier par la colonne
%MEM
- n – Trier par la colonne
PID
- t – Trier par la colonne
TIME+
- p – Trier par la colonne
%CPU
Vous pouvez aussi mettre un processus en premier si vous désirez le surveiller.
Pour cela, on appuie sur la touche L et on saisit le nom.
Ce dernier se met alors en surbrillance et reste en premier dans la liste.
Comment afficher tous les cores du processeur
En appuyant sur la touche 1 de votre clavier, vous pouvez voir les statistiques individuelles de chaque cœur de processeur.
Appuyez sur 1 à plusieurs reprises pour basculer entre les statistiques des cœurs.
Afficher l’utilisation CPU avec un graphique
Si vous souhaitez une représentation graphique de l’utilisation du processeur, top prend en charge les graphiques ASCII élémentaires, indiquant l’utilisation de chaque cœur de processeur. Vous pouvez activer ou désactiver les graphiques en appuyant sur t.
Pour transformer l’affichage du graphique en blocs de caractères pleins, appuyez à nouveau sur t.
Une représentation graphique de l’utilisation du CPU dans la commande supérieure.
Appuyez à nouveau sur t pour supprimer l’affichage du CPU et la section de résumé des tâches.
Changer les unités de mesures (T, G, M, k)
Utilisez la touche e pour choisir les unités que vous souhaitez que top utilise pour l’affichage des valeurs de la mémoire.
Appuyez sur la touche e minuscule pour choisir les unités d’affichage des valeurs dans la liste des processus. Les options disponibles sont les suivantes :
- kibibytes (KiB)
- mebibytes (MiB)
- gibibytes (GiB)
- tebibytes (TiB)
- pebibytes (PiB)
- exbibytes (EiB – applies only for memory values)
Comment changer les couleurs
Accentuez les informations de la sortie en ajoutant de la couleur à la sortie. Appuyez sur la touche z pour ajouter de la couleur à l’affichage :
Par défaut, la couleur passe au rouge. Pour personnaliser davantage les éléments d’affichage et choisir une couleur différente, suivez les étapes ci-dessous :
- Ouvrez la page des paramètres de couleur en appuyant sur Z
- Choisissez l’élément d’affichage que vous souhaitez modifier en appuyant sur :
- S Zone des données récapitulatives
- M Messages et invites
- H En-têtes de colonne
- T Informations sur les tâches dans la liste des processus
- Appuyez sur Entrée pour confirmer votre choix
- Choisissez la couleur de l’élément sélectionné à l’aide de l’une des touches suivantes :
- Noir
- Rouge
- Vert
- Jaune
- Bleu
- Magenta
- Cyan
- Blanc
- Testez maintenant les nouveaux paramètres :
- Appuyez sur a ou w pour valider les modifications. Sinon appuyez sur Echa ou q pour annuler
Nous avons demandé à top d’imprimer la liste des processus en vert, comme vous le voyez dans l’exemple ci-dessus.
Quelques exemples de la commande top
Pour ne pas afficher les processus inactif ou zombie (defunct) :
top -i
Vous pouvez aussi afficher un seul processus par son PID :
top -p 21180
Enfin top peut-être joué en batch pour intégrer dans un script par exemple.
Cela se fait avec l’option -b.
Imagions que vous souhaitez lister les processus qui bouffe le plus la mémoire :
top -b -o +%MEM | head -n 22
Alternative avec ps
La commande ps permet aussi de lister les processus.
Toutefois, il ne se met pas en temps réel et la liste s’obtient dans le terminal.
Par exemple :
ps -ef
Si vous souhaitez afficher que les processus d’un utilisateur, par exemple tomcat :
ps -futomcat
Bien entendu la commande prend bien d’autres options.
Liens
- Utiliser la commande PS pour lister les processus sur Linux avec des exemples
- Signaux UNIX: SIGILL, SIGHUP, SIGINT, …
- VMStat : Mesures de performance Linux
- Top : lister les processus sur Linux
- Commande PS : lister les processus sur Linux
- Utiliser la commande Kill, Killall, pkill pour arrêter un processus sur Linux
- Comment utiliser les commandes nice et renice sur Linux pour définir des priorités de processus
- Comment trouver et tuer un processus Zombie sur Linux (Defunct)
- 6 exemples d’utilisation de la commande Kill sur Linux
- Qu’est-ce que le load average sur Linux
- Mesurer le débit et lister les connexions réseaux sur Linux
- La mémoire sur Linux : comment ça marche