Top
| Fiche express | |
|---|---|
| Domaine | Monitoring système (CPU, mémoire, processus) |
| Commande | top
|
| Contexte | Interactif temps réel, disponible sur toute distribution — voir htop pour une alternative plus lisible |
| Voir aussi | Sar · Nmon (monitoring historisé/temps réel) |
top est la commande de référence pour surveiller en temps réel l'activité des processus sur un système Linux : charge CPU, mémoire, et détail par processus. Contrairement à Sar ou Nmon, top n'historise rien nativement (sauf via son mode batch redirigé vers un fichier) : c'est un outil de diagnostic instantané plutôt que d'investigation a posteriori.
Installation
yum install procps-ng # top fait partie du paquet procps(-ng), présent par défaut sur la plupart des distributions
Utilisation de base
top # mode interactif classique
top -b -n 1 # mode batch, une seule itération (pour scripts/logs)
top -b -n 6 -d 5 -u apache # mode batch, 6 collectes toutes les 5 secondes, filtré sur l'utilisateur apache
top -o cpu -n 5 # trie par CPU, 5 itérations
Extraire uniquement l'en-tête récapitulatif (charge, mémoire) d'une capture batch :
top -b -n 1 | head -n 12 | tail -n 5
Ajouter des champs à surveiller
En mode interactif, la touche f ouvre la sélection des colonnes affichées. Par exemple pour ajouter la colonne SWAP utilisée par chaque processus :
top
f # ouvrir la sélection des champs
p # activer/désactiver le champ SWAP (repérage selon la version de top)
La touche W (majuscule) enregistre la configuration courante dans ~/.toprc, pour ne pas avoir à refaire la manipulation à chaque lancement (utile notamment avant de passer en mode batch).
Mode multi-fenêtres
top propose un mode avec plusieurs vues (fenêtres) indépendantes, chacune avec son propre tri et sa propre configuration de champs :
- A : activer le mode multi-fenêtres
- w : passer à la fenêtre suivante
- G puis un chiffre : aller directement à la fenêtre correspondante (ex.
G3) - z : changer la couleur de la fenêtre courante
- < / > : changer la colonne utilisée pour le tri
- R : inverser le sens du tri
États des processus
La colonne STAT de ps (et la colonne S de top) utilise ces codes, issus des états internes du noyau Linux :
- R : TASK_RUNNING — en cours d'exécution ou prêt à l'être
- S : TASK_INTERRUPTIBLE — en sommeil, réveillable par un signal
- D : TASK_UNINTERRUPTIBLE — en sommeil, non réveillable par un signal (attente I/O typiquement)
- K : TASK_KILLABLE — variante de D qui reste sensible aux signaux fatals
- T : TASK_STOPPED ou TASK_TRACED — arrêté (signal STOP) ou tracé (débogueur)
- Z : EXIT_ZOMBIE — terminé mais dont le parent n'a pas encore récupéré le code de retour
- X : EXIT_DEAD — en cours de destruction finale, ne devrait apparaître qu'un instant
Colonnes clés
- USER : propriétaire du processus
- VIRT (VSZ) : mémoire virtuelle totale utilisée par le processus, y compris la mémoire résidente, les bibliothèques partagées et toutes les pages mappées ou swappées
- RES (RSS) : mémoire résidente, c'est-à-dire la mémoire physique réellement occupée, bibliothèques partagées comprises
- SHR : partie de la mémoire résidente partagée avec d'autres processus (bibliothèques communes)
- %CPU / %MEM : part de CPU et de mémoire physique utilisée par le processus
- TIME+ : temps CPU cumulé consommé par le processus depuis son démarrage
Alternative moderne
htop reprend les mêmes informations que top avec une interface plus lisible (couleurs, barres de charge par cœur, arborescence des processus, sélection à la souris) et une navigation au clavier plus intuitive (pas besoin de connaître les raccourcis one-letter de top). Il ne remplace pas le mode batch de top pour les scripts, mais reste souvent préféré pour le diagnostic interactif.
yum install htop