Menu Fermer

Top : lister les processus linux

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.

Comment utiliser top

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.

gestionnaire de tâches sur Ubuntu.

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.

top - lister les processus linux

Comment lire l’en-tête de top

Il s’agit donc d’information générale avec :

top informations CPU, mémoire, uptime
  • 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.

top processeur avec plusieurs cores

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.

top afficher les chemins complets

Afficher la hiérarchie des processus

Pour afficher les processus avec leurs hiérarchie (processus parents et enfants), appuyez sur la touche v.

Afficher la hiérarchie des processus dans top

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.

top tuer un processus

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.

top trier 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.

Comment afficher tous les cores du processeur

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.

Afficher l'utilisation CPU avec un graphique sur la touche top

Pour transformer l’affichage du graphique en blocs de caractères pleins, appuyez à nouveau sur t.

Afficher l'utilisation CPU avec un graphique sur la touche top

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 unités de mesures (T, G, M, k) dans top

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 :

Comment changer les couleurs dans top

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
Comment changer les couleurs dans top
  • 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 :
Comment changer les couleurs dans top
  • Appuyez sur a ou w pour valider les modifications. Sinon appuyez sur Echa ou q pour annuler
Comment changer les couleurs dans top

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
ps une autre commande pour lister les processus

Si vous souhaitez afficher que les processus d’un utilisateur, par exemple tomcat :

ps -futomcat

Bien entendu la commande prend bien d’autres options.