Affichage des tâches Linux

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

La surveillance des processus système est une compétence essentielle pour les utilisateurs Linux et les administrateurs système. Comprendre quels processus sont en cours d'exécution et comment ils consomment les ressources vous permet de maintenir la stabilité et les performances du système.

Dans ce laboratoire (lab), vous apprendrez à utiliser la commande top, un outil puissant pour la surveillance en temps réel des processus du système Linux. La commande top fournit des informations détaillées sur l'utilisation du CPU, la consommation de mémoire et d'autres métriques système importantes. En maîtrisant cette commande essentielle, vous pourrez identifier les processus gourmands en ressources et gérer efficacement les ressources de votre système Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/SystemInformationandMonitoringGroup -.-> linux/top("Task Displaying") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/echo -.-> lab-271407{{"Affichage des tâches Linux"}} linux/cat -.-> lab-271407{{"Affichage des tâches Linux"}} linux/cd -.-> lab-271407{{"Affichage des tâches Linux"}} linux/top -.-> lab-271407{{"Affichage des tâches Linux"}} linux/nano -.-> lab-271407{{"Affichage des tâches Linux"}} end

Introduction à la commande top

La commande top est un utilitaire Linux de base qui affiche une vue dynamique et en temps réel des processus en cours d'exécution sur votre système. Le nom "top" fait référence à son comportement par défaut qui consiste à afficher les processus consommateurs les plus importants de CPU (les "top" processus).

Commençons par accéder à votre répertoire de projet et explorons l'utilisation de base de la commande top :

cd ~/project

Maintenant, exécutons la commande top :

top

Lorsque vous exécutez cette commande, vous devriez voir un affichage interactif similaire au suivant :

top - 14:25:30 up 2 days,  3:45,  1 user,  load average: 0.15, 0.20, 0.25
Tasks: 105 total,   1 running, 104 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.0 us,  1.0 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   4096.0 total,   2841.3 free,    845.2 used,    409.5 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   2970.5 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1234 labex     20   0  562340  42340  28456 S   2.0   1.0   0:30.25 firefox
 2345 labex     20   0   78912  23456  13204 S   0.7   0.6   0:12.34 terminal
 3456 root      20   0   43528   5424   4356 S   0.3   0.1   0:05.67 sshd
  ... (more processes)

L'affichage de top se compose de deux sections principales :

  1. Zone de synthèse (les 5 premières lignes) : Fournit des informations sur l'ensemble du système, notamment :

    • Le temps de fonctionnement du système et les moyennes de charge
    • Les statistiques des tâches (total, en cours d'exécution, en veille, etc.)
    • Les pourcentages d'utilisation du CPU
    • L'utilisation de la mémoire (RAM et Swap)
  2. Liste des processus (tableau sous la synthèse) : Répertorie les processus en cours d'exécution avec des détails tels que :

    • PID : Identifiant du processus
    • USER : Propriétaire du processus
    • PR : Priorité
    • NI : Valeur de nice
    • VIRT : Mémoire virtuelle utilisée
    • RES : Mémoire résidente utilisée
    • %CPU : Pourcentage d'utilisation du CPU
    • %MEM : Pourcentage d'utilisation de la mémoire
    • COMMAND : Nom de la commande

Par défaut, l'affichage se rafraîchit automatiquement toutes les 3 secondes. Pour quitter la commande top, appuyez simplement sur la touche q.

Maintenant, capturons une capture statique des processus en utilisant l'option -n 1. Cela indique à top de mettre à jour une seule fois puis de quitter :

top -n 1 > ~/project/top_snapshot.txt

Cette commande crée un fichier nommé top_snapshot.txt dans votre répertoire de projet contenant une capture des processus système actuels. Vérifions le contenu du fichier :

cat ~/project/top_snapshot.txt

Vous devriez voir une sortie similaire à celle affichée dans la session interactive de top, mais sous forme de fichier texte statique.

Interprétation de la sortie de top

Maintenant que vous avez une capture des processus système, analysons les informations pour comprendre ce qu'elles nous disent sur l'utilisation des ressources du système.

Ouvrez le fichier top_snapshot.txt à l'aide de l'éditeur de texte nano :

nano ~/project/top_snapshot.txt

Dans ce fichier, vous pouvez voir les mêmes informations que celles affichées par la commande interactive top. Concentrons-nous sur l'identification du processus le plus gourmand en CPU dans la liste.

Regardez la section de la liste des processus (en dessous de la zone de synthèse) et trouvez le processus ayant la valeur la plus élevée dans la colonne %CPU. Cela indique le processus qui consommait le plus de CPU au moment où la capture a été prise.

Par exemple, si vous voyez une ligne comme celle-ci :

 1234 labex     20   0  562340  42340  28456 S   2.0   1.0   0:30.25 firefox

Cela montre que le processus avec le PID 1234 (firefox) appartenant à l'utilisateur "labex" utilisait 2,0 % du CPU et 1,0 % de la mémoire.

Notez les informations suivantes pour le processus ayant la plus forte utilisation de CPU :

  1. PID (Identifiant du processus)
  2. USER (le propriétaire du processus)
  3. %CPU (Pourcentage d'utilisation du CPU)
  4. %MEM (Pourcentage d'utilisation de la mémoire)
  5. COMMAND (La commande ou le programme en cours d'exécution)

Pour quitter nano, appuyez sur Ctrl+X.

Maintenant, créez un fichier nommé top_analysis.txt pour documenter vos découvertes :

echo "Most CPU-intensive process analysis" > ~/project/top_analysis.txt

Ajoutez les détails du processus le plus gourmand en CPU au fichier. Remplacez les espaces réservés par les valeurs réelles que vous avez observées :

echo "PID: [Replace with PID]" >> ~/project/top_analysis.txt
echo "USER: [Replace with USER]" >> ~/project/top_analysis.txt
echo "CPU%: [Replace with %CPU]" >> ~/project/top_analysis.txt
echo "MEM%: [Replace with %MEM]" >> ~/project/top_analysis.txt
echo "COMMAND: [Replace with COMMAND]" >> ~/project/top_analysis.txt

Par exemple, si le processus 1234 (firefox) était le plus gourmand en CPU, vous entreriez :

echo "PID: 1234" >> ~/project/top_analysis.txt
echo "USER: labex" >> ~/project/top_analysis.txt
echo "CPU%: 2.0" >> ~/project/top_analysis.txt
echo "MEM%: 1.0" >> ~/project/top_analysis.txt
echo "COMMAND: firefox" >> ~/project/top_analysis.txt

Vérifions ce que nous avons écrit dans le fichier :

cat ~/project/top_analysis.txt

Cela devrait afficher le contenu de votre fichier d'analyse avec les détails du processus le plus gourmand en CPU.

Tri et filtrage des processus dans top

La commande top devient encore plus puissante lorsque vous apprenez à trier et filtrer les processus. Dans cette étape, vous allez apprendre à personnaliser l'affichage de top pour vous concentrer sur des informations spécifiques.

Tout d'abord, exécutons à nouveau la commande interactive top :

top

Pendant que top est en cours d'exécution, vous pouvez utiliser des raccourcis clavier pour modifier son comportement :

  1. Appuyez sur M (en majuscule) pour trier les processus par utilisation de mémoire
  2. Appuyez sur P (en majuscule) pour trier les processus par utilisation de CPU (par défaut)
  3. Appuyez sur T (en majuscule) pour trier les processus par temps (combien de temps ils ont été en cours d'exécution)
  4. Appuyez sur N (en majuscule) pour trier les processus par PID (identifiant de processus)

Essayez chacune de ces options de tri pour voir comment la liste des processus change. Lorsque vous avez terminé vos expériences, appuyez sur q pour quitter top.

Maintenant, créons une capture des processus triés par utilisation de mémoire. Nous allons utiliser le mode batch de top avec des options spécifiques :

top -b -n 1 -o %MEM > ~/project/top_sorted_by_mem.txt

Cette commande utilise :

  • -b : Mode batch (non interactif)
  • -n 1 : Exécuter une seule itération
  • -o %MEM : Trier par utilisation de mémoire

Vérifions le contenu de ce fichier :

cat ~/project/top_sorted_by_mem.txt

Vous devriez voir les processus répertoriés par ordre d'utilisation de mémoire, les processus consommateurs de mémoire les plus importants étant en haut.

Ensuite, filtrons les processus pour n'afficher que ceux appartenant à votre compte utilisateur :

top -b -n 1 -u labex > ~/project/top_user_filtered.txt

L'option -u labex filtre la sortie pour n'afficher que les processus appartenant à l'utilisateur "labex". Examinons ce fichier :

cat ~/project/top_user_filtered.txt

Ce fichier ne devrait afficher que les processus appartenant à l'utilisateur "labex".

Enfin, combinons le tri et le filtrage pour créer une vue plus spécifique :

top -b -n 1 -u labex -o %CPU > ~/project/top_custom.txt

Cette commande n'affiche que les processus appartenant à l'utilisateur "labex" et les trie par utilisation de CPU. Vérifions le résultat :

cat ~/project/top_custom.txt

Ces options de personnalisation font de top un outil polyvalent pour vous concentrer sur des aspects spécifiques des performances du système et de l'utilisation des ressources.

Résumé

Dans ce laboratoire (lab), vous avez appris à utiliser la commande top pour surveiller et analyser les processus dans Linux. Les compétences que vous avez acquises sont les suivantes :

  1. Exécuter la commande top pour afficher en temps réel les processus système
  2. Comprendre les informations affichées dans la sortie de top, y compris l'utilisation du CPU, l'utilisation de la mémoire et les détails des processus
  3. Capturer des instantanés (snapshots) des informations sur les processus pour l'analyse
  4. Identifier les processus gourmands en ressources en examinant l'utilisation du CPU et de la mémoire
  5. Personnaliser l'affichage de top grâce aux options de tri et de filtrage

Ces compétences sont essentielles pour l'administration système et la surveillance des performances dans les environnements Linux. La commande top est l'un des outils les plus fréquemment utilisés pour évaluer rapidement l'état du système et identifier les problèmes potentiels de performance.

En maîtrisant la commande top, vous avez maintenant la capacité de surveiller efficacement les ressources système, d'identifier les processus susceptibles de causer des problèmes de performance et de collecter les informations nécessaires pour optimiser les performances du système.