Introduction
Bienvenue dans ce TP consacré à la commande Linux top. Au cours de cette session, vous apprendrez à utiliser la commande top pour surveiller les processus système et l'utilisation des ressources en temps réel. Cette compétence est indispensable pour les administrateurs système, les développeurs et toute personne devant comprendre et gérer les performances d'une machine.
Imaginez que vous êtes un administrateur système junior chargé de la maintenance d'un serveur web très sollicité. On vous signale que le serveur est lent et vous devez identifier quels processus consomment le plus de ressources. La commande top sera votre outil principal pour cette investigation, vous permettant de visualiser et d'analyser l'activité du système en direct.
Utilisation de base de la commande top
Commençons par exécuter la commande top dans sa forme la plus simple. Cela nous donnera une vue dynamique et en temps réel des processus du système.
Ouvrez un terminal et exécutez la commande suivante :
top
Vous devriez voir un affichage semblable à celui-ci :
top - 14:30:23 up 5:10, 1 user, load average: 0.15, 0.22, 0.28
Tasks: 213 total, 1 running, 212 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.0 us, 1.3 system, 0.0 ni, 96.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7824.9 total, 2576.8 free, 2935.0 used, 2313.1 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 4558.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 user 20 0 3626108 205008 89380 S 2.0 2.6 0:45.85 gnome-shell
5678 user 20 0 859492 51528 38060 S 1.3 0.6 0:10.91 Xorg
9101 user 20 0 722816 36096 29088 S 0.7 0.5 0:05.62 gnome-terminal
Cet affichage est mis à jour en continu (par défaut, toutes les 3 secondes). Analysons les informations présentées :
- La première ligne indique l'heure actuelle, le temps de fonctionnement du système (uptime), le nombre d'utilisateurs connectés et la charge moyenne (load average).
- La deuxième ligne affiche le nombre total de tâches et leurs états (en cours d'exécution, en veille, arrêtées, zombies).
- La troisième ligne montre les pourcentages d'utilisation du processeur (CPU).
- Les quatrième et cinquième lignes affichent l'utilisation de la mémoire vive (RAM) et de la partition d'échange (Swap).
- Le tableau ci-dessous présente les détails de chaque processus, triés par défaut selon l'utilisation du CPU.
Pour quitter top, appuyez sur la touche 'q'.
Trier les processus dans top
Par défaut, top trie les processus par utilisation du CPU. Cependant, vous pouvez modifier ce tri en temps réel. Voyons comment trier par utilisation de la mémoire.
- Lancez la commande
top:
top
- Une fois que
topest en cours d'exécution, appuyez sur la touche 'M' (majuscule). Cela triera les processus par utilisation de la mémoire (taille de la mémoire résidente) au lieu de l'utilisation du CPU.
Vous devriez maintenant voir les processus réorganisés, avec les processus les plus gourmands en mémoire en haut de la liste.
Pour revenir au tri par utilisation du CPU, appuyez sur la touche 'P' (majuscule).
Pour trier par identifiant de processus (PID), appuyez sur la touche 'N' (majuscule).
Pour inverser l'ordre de tri actuel, appuyez sur 'R' (majuscule).
N'oubliez pas que vous pouvez toujours appuyer sur 'h' ou '?' pendant que top fonctionne pour afficher un écran d'aide listant toutes les commandes disponibles.
Quittez top en appuyant sur 'q' une fois votre exploration terminée.
Modifier l'intervalle de mise à jour
Par défaut, top rafraîchit son affichage toutes les 3 secondes. Vous pouvez toutefois modifier cet intervalle. Réglons-le sur 1 seconde pour obtenir des mises à jour plus fréquentes.
Lancez top avec l'option -d :
top -d 1
L'affichage se met désormais à jour plus rapidement. Cela s'avère utile pour repérer des processus éphémères ou pour observer des changements rapides dans l'activité du système.
Pour modifier l'intervalle de mise à jour alors que top est déjà lancé :
- Appuyez sur 'd' (minuscule).
- Saisissez le nouveau délai en secondes (par exemple, '0.5' pour une demi-seconde).
- Appuyez sur Entrée.
Gardez à l'esprit que des intervalles de mise à jour très courts peuvent eux-mêmes consommer des ressources CPU non négligeables ; utilisez-les donc avec discernement.
Quittez top en appuyant sur 'q'.
Afficher les processus d'un utilisateur spécifique
En tant qu'administrateur système, vous aurez souvent besoin de surveiller les processus d'un utilisateur précis. La commande top permet de le faire très facilement.
Surveillons les processus de l'utilisateur actuel (qui est 'labex' dans cet environnement de TP) :
top -u labex
Vous ne devriez plus voir que les processus appartenant à l'utilisateur 'labex'.
Cette fonctionnalité est particulièrement pratique pour diagnostiquer des problèmes liés aux activités d'un utilisateur spécifique ou pour vous concentrer sur vos propres tâches dans un système multi-utilisateurs.
Quittez top en appuyant sur 'q' après avoir observé les résultats.
Afficher uniquement les processus actifs
Parfois, vous souhaiterez vous concentrer uniquement sur les processus actifs et ignorer ceux qui sont inactifs. La commande top propose une option dédiée à cet effet.
Lancez top avec l'option -i :
top -i
Cette commande n'affichera que les processus actifs, filtrant tous ceux qui n'ont pas utilisé le CPU depuis la dernière mise à jour.
C'est un excellent moyen d'identifier rapidement quels processus consomment actuellement des ressources, sans être encombré par la liste des processus en sommeil.
Quittez top en appuyant sur 'q'.
Résumé
Félicitations ! Vous avez terminé ce TP sur l'utilisation de la commande top pour la surveillance du système en temps réel. Récapitulons ce que vous avez appris :
- L'utilisation de base de la commande
toppour visualiser les processus et les ressources. - Comment trier les processus selon différents critères (CPU, mémoire, PID) directement dans l'interface.
- La modification de l'intervalle de rafraîchissement pour des analyses plus ou moins précises.
- Le filtrage des processus par utilisateur.
- L'affichage exclusif des processus actifs pour éliminer les processus inactifs.
Ces compétences seront précieuses pour gérer les ressources de vos machines, notamment pour identifier les goulots d'étranglement ou résoudre des problèmes de performance.
Voici quelques options et commandes interactives supplémentaires de top que nous n'avons pas abordées :
-b: Mode "batch" (utile pour envoyer la sortie vers d'autres programmes ou fichiers).-n: Nombre d'itérations avant quetopne s'arrête automatiquement.- 'k' : Tuer un processus (via son PID) directement depuis
top. - 'r' : Modifier la priorité (renice) d'un processus.
- 'c' : Basculer l'affichage entre le nom de la commande et la ligne de commande complète.
- 'V' : Afficher les informations de version.
N'oubliez pas qu'une surveillance efficace est cruciale pour maintenir la stabilité d'un système. L'utilisation régulière de top vous aidera à détecter et prévenir les problèmes de ressources avant qu'ils n'affectent gravement vos utilisateurs.



