La commande top dans Linux

Dans le monde de la gestion des systèmes et de la surveillance de l’efficacité, la commande top se distingue comme l’une des outils les plus importants que tout utilisateur de Linux doit maîtriser. Elle est la fenêtre qui vous permet de regarder directement le pouls de votre système vivant, en fournissant des informations dynamiques et en temps réel sur toutes les tâches en cours d’exécution et l’utilisation des ressources systémiques.

Depuis sa sortie initiale dans les systèmes Unix aux années 1980, top a préservé son statut d\’outil essentiel pour les administrateurs système et les développeurs. Imaginez-vous comme un capitaine de navire — top serait la console de pilotage qui affiche la vitesse du navire, la consommation de carburant et le fonctionnement des moteurs, tout cela simultanément.

Contrairement à la commande ps, top affiche des informations en temps réel qui sont constamment mises à jour (par défaut toutes les 3 secondes), ce qui en fait le choix idéal pour l’analyse de l’efficacité du système en temps réel et la détection immédiate des problèmes. Lorsqu’il est lancé, top affiche deux sections principales :

  1. Résumé général du système comprenant des informations sur le temps de fonctionnement, le nombre d’utilisateurs actifs, la charge moyenne (load average) qui reflète le nombre de tâches en attente sur le processeur pendant les dernières 1, 5 et 15 minutes. Il affiche également l’état des tâches sur le système, y compris leur nombre total, leur statut actif, suspendu ou arrêté. De plus, cette section fournit des détails précis sur l’utilisation du processeur (CPU), divisée selon le type d’utilisation (utilisation utilisateur, système, tâches inactives, etc.), ainsi qu’un résumé de l’utilisation de la mémoire vive (RAM) et du mémoire d\’échange (Swap), permettant aux administrateurs de mesurer la pression des ressources en temps réel.
  2. Une liste détaillée des tâches en cours classée par défaut selon l’utilisation du processeur.

Lancer la commande top et comprendre les sorties

Lancer de base

La méthode la plus simple pour lancer la commande est de taper :

top

Lors de l\’exécution de cette commande, une interface interactive apparaît, divisée en deux sections principales comme mentionné :

La section haut : résumé du système

La section supérieure de l’interface top offre une vue rapide et globale de l’état du système en temps réel, et constitue l’outil de surveillance d’efficacité principal. Elle inclut des informations sur le temps de fonctionnement du système (uptime), le nombre d’utilisateurs actifs et la charge moyenne qui reflète le nombre de tâches en attente sur le processeur durant les dernières minutes 1, 5 et 15. Elle affiche également l’état des tâches sur le système, notamment leur nombre total, leurs tâches actives, suspendues et arrêtées. Enfin, elle fournit des détails précis sur l’utilisation du processeur (CPU), divisée selon le type d’utilisation (utilisation utilisateur, système, tâches inactives, etc.), ainsi qu’un résumé de l’utilisation de la mémoire vive (RAM) et du mémoire d’échange (Swap), permettant aux administrateurs de mesurer la pression des ressources en temps réel.

Champ Description
Temps de fonctionnement Le temps écoulé depuis le dernier démarrage du système
Nombre d’utilisateurs Nombre de sessions actives
Charge moyenne La moyenne du nombre de tâches en file d’attente pendant 1, 5 et 15 minutes
Tâches Total des tâches, ainsi que leurs tâches actives, suspendues et arrêtées
Utilisation du processeur Proportion d’utilisation du processeur selon le type (utilisation utilisateur, système, tâches inactives, etc.)
Utilisation de la mémoire Détail de l’utilisation de la mémoire vive (RAM) et de la mémoire d’échange

La section bas : liste des tâches

La section inférieure de l’interface top représente un tableau dynamique qui affiche toutes les tâches (Processes) en cours d’exécution sur le système en temps réel. Ce tableau se met à jour automatiquement et montre des informations détaillées sur chaque tâche, permettant une surveillance précise du fonctionnement au niveau de chaque programme ou service en arrière-plan. Pour chaque tâche, un ligne spécifique contient un ensemble de champs importants :

Champ Description
PID Identifiant unique de la tâche
Utilisateur Propriétaire de la tâche
PR Priorité d’exécution
NI Valeur nice (ajustement de priorité)
VIRT Mémoire virtuelle utilisée
RES Mémoire physique utilisée
SHR Mémoire partagée
S État de la tâche
%CPU Proportion d’utilisation du processeur
%MEM Proportion d’utilisation de la mémoire
Temps Temps consommé par la tâche
Commande Nom de la commande ou de la tâche

Cette liste est un outil efficace pour identifier les tâches qui consomment des ressources de manière excessive, permettant aux administrateurs de prendre des mesures adéquates, comme terminer ou recharger une tâche.

Les options de base de la commande top

La commande top se lance avec plusieurs options utiles pouvant être passées à l’exécution :

top -d 5

Modifie la période d’actualisation à 5 secondes au lieu des 3 par défaut

top -p PID1,PID2,PID3

Ouvre la surveillance des tâches spécifiques en précisant leurs identifiants

top -u username

Affiche uniquement les tâches d’un utilisateur spécifique

top -b -n 3 > top_output.txt

Exécute top en mode batch et enregistre trois actualisations dans un fichier

Gestion des tâches au travers de la commande top

Une des fonctionnalités puissantes de la commande top est la capacité de gérer les tâches directement à partir de son interface interactive, sans avoir à en sortir :

Touches Fonction
k Envoyer un signal à une tâche (par exemple, terminer une tâche)
r Modifier la valeur nice pour ajuster la priorité d’une tâche
z Basculer entre mode couleurs et mode monochrome
c Basculer le mode d’affichage complet/abrégé de la commande
M Trier par utilisation de mémoire
P Trier par utilisation du processeur (par défaut)
T Trier par temps d’exécution
q Quitter top

Les options avancées et la débogage

Identifier les applications consommant des ressources

En cas d’affaiblissement ou de ralentissement dans l’efficacité du système, la commande top peut être utilisée comme outil efficace pour identifier les tâches ou applications qui consomment excessivement les ressources. La première étape consiste à lancer la commande top. Une interface interactive apparaît alors, affichant des détails sur toutes les tâches actives. Pour identifier les tâches qui consomment beaucoup de mémoire vive (RAM), appuyez sur Shift + M pour trier toutes les tâches en ordre descendant selon la proportion d’utilisation de la mémoire. De la même manière, pour identifier les tâches qui consomment beaucoup de processeur (CPU), vous pouvez appuyer sur Shift + P pour retrier la liste selon la proportion d’utilisation du processeur.

Après le tri, les tâches les plus intenses en termes de ressources apparaissent en haut, ce qui facilite leur identification et leur analyse. À partir de là, des décisions peuvent être prises, comme la fin d’une tâche spécifique ou la redémarrage d’un service utilisant des ressources du système de manière inappropriée.

  1. Lancer top pour voir les tâches actives
  2. Appuyer sur Shift+M pour trier par utilisation de la mémoire
  3. Appuyer sur Shift+P pour trier par utilisation du processeur
  4. Examiner les tâches visibles en haut

Éliminer le verrouillage temporaire

En cas de gel d’un logiciel et de perte de réactivité, vous pouvez utiliser la commande top pour intervenir manuellement et terminer l’état gelé du logiciel sans avoir à redémarrer le système entier. La procédure commence par lancer top et identifier le PID du logiciel gelé, en observant son nom ou son activité dans la liste des tâches.

Après que le PID est localisé, appuyez sur la touche k dans l’interface top, qui est l’abréviation du commande « kill ». Le système demandera ensuite l’identifiant de la tâche (PID) que vous souhaitez arrêter, suivi du numéro de signal à lui envoyer. Cette procédure donne au utilisateur un outil efficace pour contrôler les tâches gélées sans affecter toute le système.

  1. Chercher le PID de l’application dans top
  2. Appuyer sur k et entrer le PID de la tâche
  3. Envoyer d’abord le signal SIGTERM (15)
  4. Si cela ne marche pas, envoyer le signal SIGKILL (9)

Amélioration de l’efficacité du système

Une méthode efficace pour améliorer l’efficacité du système consiste à utiliser la commande top pour identifier les tâches non essentielles qui consomment des ressources en raison de priorités d’exécution élevées. Dans l’interface top, on peut observer les tâches qui possèdent une valeur nice basse (proche de 0 ou négative), ce qui indique qu’elles ont une priorité élevée sur le processeur.

Pour équilibrer l’efficacité, appuyez sur la touche r dans top pour ajuster la valeur nice de toute tâche active. Après avoir appuyé, le système demandera alors l’identifiant PID de la tâche, suivi de la nouvelle valeur nice.

  1. Lancer top
  2. Rechercher les tâches avec une priorité nice basse
  3. Utiliser r pour ajuster le niveau nice afin d’augmenter la priorité des tâches importantes ou de réduire la priorité des tâches moins importantes

Ainsi, vous pouvez gérer les priorités du système et réaliser un meilleur équilibre entre les tâches actives, ce qui aura pour effet positif sur la rapidité de la réponse et sur la performance globale de l’appareil.

La commande top reste un outil indispensable dans l’armoire des outils pour la gestion de systèmes Linux. Avec de la pratique régulière, vous trouverez que top est plus qu’une simple outil de surveillance, il devient un système d’alerte précoce et un moyen efficace pour maintenir la performance du système à son maximum. Expérimentez les commandes avancées, explorez toutes ses possibilités et faites-en partie de votre routine quotidienne de gestion des systèmes.

Références

  • Les pages d’aide officielles du manuel Linux (man pages)
  • Le livre « Linux Performance » de Brendan Gregg
  • Le site Linux Documentation Project

Partagez votre amour
meher makloufi
meher makloufi

Je suis un tunisien né en 1993, diplômé en informatique de gestion. Je travaille comme développeur web depuis 2016, et je suis un chercheur en informatique passionné. Je partage du contenu qui reflète mon expérience et tout ce que j'ai appris de manière simple et claire pour tous ceux qui cherchent à en savoir plus dans ce domaine. Je possède et gère plusieurs sites web et combine mon amour pour l'art avec la lecture de livres scientifiques, intellectuels et religieux. Je me porte volontaire autant que possible pour enrichir et soutenir la communauté technique arabe d'abord et la communauté mondiale ensuite.

Articles: 42