Top : lister les processus linux

Top est un outil Linux qui permet de faire beaucoup de choses avec les processus.
Avec cette application vous pouvez :

  • Lister les processus
  • Visualiser l’utilisation CPU et mémoire
  • 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.

Top : lister les processus linux

Présentation de 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

L’en-tête

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 moyen de la machine. Cela permet de vérifier si la machine est sur-utilisé
  • 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).
    • 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.

Les colonnes

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.

Exemple d’utilisation

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

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

La touche u permet de lister les processus d’un utilisateur.
Ensuite il faut saisir l’utilisateur.

On peut aussi lancer top de cette manière :

top -u <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 %MEM
  • N PID
  • P %CPU
  • T TIME+

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

Les commandes top

Pour ne pas afficher les processus inactif ou zombi :

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.

image_pdfimage_print
(Visité 150 fois, 1 visites ce jour)