Commande Linux top : Surveillance en temps réel du système

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Bienvenue dans le laboratoire sur la commande Linux top. Dans ce laboratoire, vous apprendrez à utiliser la commande top pour surveiller en temps réel les processus système et l'utilisation des ressources. Cette compétence est essentielle pour les administrateurs système, les développeurs et toute personne qui a besoin de comprendre et de gérer les performances d'un système.

Imaginez que vous êtes un jeune administrateur système chargé de maintenir un serveur web très sollicité. Il a été signalé 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 enquête, vous permettant de visualiser et d'analyser l'activité du système en temps réel.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/top("Task Displaying") subgraph Lab Skills linux/top -.-> lab-388500{{"Commande Linux top : Surveillance en temps réel du système"}} end

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 en temps réel des processus du système.

Ouvrez un terminal et exécutez la commande suivante :

top

Vous devriez voir un affichage similaire à 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 ce que nous voyons :

  1. La première ligne affiche l'heure actuelle, le temps de fonctionnement du système, le nombre d'utilisateurs et la charge moyenne.
  2. La deuxième ligne affiche le nombre total de tâches et leur état (en cours d'exécution, en attente, arrêtées, zombies).
  3. La troisième ligne affiche les pourcentages d'utilisation du CPU.
  4. La quatrième et la cinquième ligne affichent l'utilisation de la mémoire et de la mémoire d'échange (swap).
  5. Le tableau ci-dessous affiche des informations sur les processus individuels, triés par utilisation du CPU par défaut.

Pour quitter top, appuyez sur 'q'.

Tri des processus dans top

Par défaut, top trie les processus par utilisation du CPU. Cependant, vous pouvez modifier ce tri en temps réel. Explorons comment trier par utilisation de mémoire à la place.

  1. Exécutez la commande top :
top
  1. Une fois que top est en cours d'exécution, appuyez sur la touche 'M' (en majuscule). Cela triera les processus par utilisation de mémoire (taille de l'ensemble résident) 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.

  1. Pour trier à nouveau par utilisation du CPU, appuyez sur la touche 'P' (en majuscule).

  2. Pour trier par identifiant de processus (PID), appuyez sur la touche 'N' (en majuscule).

  3. Pour inverser l'ordre de tri actuel, appuyez sur 'R' (en majuscule).

N'oubliez pas que vous pouvez toujours appuyer sur 'h' ou '?' pendant que top est en cours d'exécution pour afficher un écran d'aide avec toutes les commandes disponibles.

Quittez top en appuyant sur 'q' une fois que vous avez terminé votre exploration.

Modification de l'intervalle de mise à jour

Par défaut, top met à jour son affichage toutes les 3 secondes. Cependant, vous pouvez modifier cet intervalle. Réglez-le pour qu'il se mette à jour toutes les secondes pour des mises à jour plus fréquentes.

Exécutez top avec l'option -d :

top -d 1

Vous devriez maintenant voir l'affichage se mettre à jour plus fréquemment. Cela peut être utile lorsque vous essayez de détecter des processus de courte durée ou lorsque vous devez observer des changements rapides dans l'activité du système.

Pour modifier l'intervalle de mise à jour pendant que top est en cours d'exécution :

  1. Appuyez sur 'd' (en minuscule).
  2. Entrez le nouveau délai en secondes (par exemple, '0,5' pour une demi-seconde).
  3. Appuyez sur Entrée.

N'oubliez pas que des intervalles de mise à jour très courts peuvent consommer des ressources CPU importantes, utilisez-les donc avec discernement.

Quittez top en appuyant sur 'q' une fois que vous avez terminé.

Affichage des processus d'un utilisateur spécifique

En tant qu'administrateur système, vous devrez souvent surveiller les processus d'un utilisateur spécifique. La commande top vous permet de le faire facilement.

Surveillons les processus de l'utilisateur actuel (qui est 'labex' dans cet environnement de laboratoire) :

top -u labex

Vous devriez maintenant voir uniquement les processus appartenant à l'utilisateur 'labex'.

Cette fonctionnalité est particulièrement utile lorsque vous essayez de résoudre des problèmes liés aux activités d'un utilisateur spécifique ou lorsque vous souhaitez vous concentrer sur vos propres processus dans un système multi-utilisateurs.

Quittez top en appuyant sur 'q' une fois que vous avez terminé votre observation.

Affichage uniquement des processus actifs

Parfois, vous pourriez souhaiter vous concentrer uniquement sur les processus actifs et ignorer les processus inactifs. La commande top propose une option pour cela.

Exécutez top avec l'option -i :

top -i

Cette commande affichera uniquement les processus actifs, en filtrant tous les processus dont l'utilisation du CPU est nulle depuis la dernière mise à jour.

Cela peut être particulièrement utile lorsque vous essayez d'identifier quels processus consomment actuellement des ressources, sans la confusion causée par les processus inactifs.

Quittez top en appuyant sur 'q' une fois que vous avez terminé votre observation.

Résumé

Félicitations! Vous avez terminé ce laboratoire sur l'utilisation de la commande top pour la surveillance en temps réel du système. Récapitulons ce que vous avez appris :

  1. Utilisation de base de la commande top pour afficher les processus du système et l'utilisation des ressources.
  2. Comment trier les processus selon différents critères (utilisation du CPU, utilisation de la mémoire, PID) dans top.
  3. Modification de l'intervalle de mise à jour de top pour des mises à jour plus ou moins fréquentes.
  4. Surveillance des processus d'un utilisateur spécifique.
  5. Affichage uniquement des processus actifs, en filtrant les processus inactifs.

Ces compétences seront inestimables pour la surveillance et la gestion des ressources système, en particulier dans les scénarios où vous devez identifier les goulots d'étranglement de performance ou résoudre des problèmes système.

Voici quelques options supplémentaires de la commande top et commandes interactives que nous n'avons pas couvertes dans ce laboratoire :

  • -b : Exécution en mode batch (utile pour envoyer la sortie à d'autres programmes ou fichiers)
  • -n : Nombre d'itérations avant que top ne se termine
  • 'k' : Tuer un processus (par PID) depuis top
  • 'r' : Changer la priorité d'un processus (renice)
  • 'c' : Basculer l'affichage du nom/ligne de commande
  • 'V' : Afficher les informations de version

N'oubliez pas que la surveillance efficace du système est cruciale pour maintenir les performances et la stabilité du système. L'utilisation régulière de la commande top peut vous aider à détecter et à prévenir les problèmes liés aux ressources avant qu'ils n'aient un impact significatif sur les performances de votre système.