Comment enregistrer la sortie de la commande top dans un fichier sous 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 commande top est un outil de surveillance système puissant sous Linux qui fournit des informations en temps réel sur les processus en cours d'exécution et leur utilisation des ressources. Ce tutoriel vous guidera dans la compréhension de la commande top, l'interaction avec elle et l'automatisation des flux de travail de la commande top pour surveiller et gérer efficacement vos systèmes Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/InputandOutputRedirectionGroup -.-> linux/pipeline("Data Piping") linux/InputandOutputRedirectionGroup -.-> linux/redirect("I/O Redirecting") linux/SystemInformationandMonitoringGroup -.-> linux/watch("Command Repeating") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/top("Task Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/free("Memory Reporting") linux/SystemInformationandMonitoringGroup -.-> linux/date("Date/Time Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/time("Command Timing") subgraph Lab Skills linux/pipeline -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} linux/redirect -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} linux/watch -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} linux/ps -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} linux/top -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} linux/free -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} linux/date -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} linux/time -.-> lab-409904{{"Comment enregistrer la sortie de la commande top dans un fichier sous Linux"}} end

Comprendre la commande top

La commande top est un outil puissant de surveillance système sous Linux qui fournit des informations en temps réel sur les processus en cours d'exécution sur un système. C'est un outil précieux pour les administrateurs système et les développeurs afin de comprendre l'utilisation des ressources et les performances de leurs systèmes.

La commande top affiche une liste des processus en cours d'exécution, triée par utilisation du CPU, utilisation de la mémoire ou d'autres critères. Elle fournit des informations détaillées sur chaque processus, y compris l'identifiant de processus (PID), l'utilisateur, l'utilisation du CPU et de la mémoire, ainsi que d'autres métriques pertinentes.

L'un des principaux cas d'utilisation de la commande top est d'identifier les processus gourmands en ressources qui peuvent causer des problèmes de performances sur le système. En surveillant l'utilisation du CPU et de la mémoire des processus en cours d'exécution, vous pouvez rapidement identifier les processus qui consomment le plus de ressources et prendre les mesures appropriées pour optimiser leurs performances ou les terminer si nécessaire.

Voici un exemple d'utilisation de la commande top sur un système Ubuntu 22.04 :

$ top

Cela affichera la sortie par défaut de la commande top, qui inclut les informations suivantes :

  • Uptime (temps de fonctionnement) : La durée pendant laquelle le système a été en marche depuis le dernier redémarrage.
  • Tasks (tâches) : Le nombre de processus en cours d'exécution, en veille et d'autres processus.
  • CPU usage (utilisation du CPU) : Le pourcentage d'utilisation du CPU par différents processus.
  • Memory usage (utilisation de la mémoire) : La quantité de mémoire physique et d'espace d'échange utilisé.
  • Process list (liste des processus) : Une liste des processus en cours d'exécution, triée par utilisation du CPU par défaut.

Vous pouvez personnaliser la sortie de la commande top en appuyant sur diverses touches, comme 1 pour afficher l'utilisation du CPU par cœur, m pour trier par utilisation de la mémoire ou p pour trier par identifiant de processus.

La commande top est un outil précieux pour comprendre les performances globales du système et identifier les éventuels goulots d'étranglement ou les processus gourmands en ressources. En maîtrisant la commande top, vous pouvez surveiller et gérer efficacement vos systèmes Linux.

Interagir avec la commande top

La commande top propose une grande variété d'options et de raccourcis clavier pour personnaliser sa sortie et son comportement. En comprenant ces interactions, vous pouvez surveiller et gérer efficacement les processus de votre système.

Lorsque la commande top est en cours d'exécution, vous pouvez utiliser les raccourcis clavier suivants pour naviguer dans et interagir avec la liste des processus :

  • et : Déplacer la sélection vers le haut ou le bas dans la liste des processus.
  • k : Tuer le processus sélectionné.
  • d : Changer l'intervalle de rafraîchissement.
  • f : Personnaliser les champs affichés dans la liste des processus.
  • o : Trier la liste des processus par un champ spécifique.
  • 1 : Activer/désactiver l'affichage de l'utilisation individuelle du CPU.
  • m : Trier la liste des processus par utilisation de la mémoire.
  • p : Trier la liste des processus par utilisation du CPU.
  • q : Quitter la commande top.

Personnaliser la sortie de la commande top

Vous pouvez personnaliser la sortie de la commande top en appuyant sur la touche f pour accéder au menu "Fields" (Champs). Cela vous permet de sélectionner les colonnes que vous souhaitez afficher dans la liste des processus. Vous pouvez utiliser les touches suivantes pour naviguer et sélectionner les champs :

  • Espace : Activer/désactiver la sélection d'un champ.
  • a : Sélectionner tous les champs.
  • d : Désélectionner tous les champs.
  • < et > : Déplacer le champ sélectionné vers la gauche ou la droite dans l'affichage.
  • Entrée : Enregistrer la sélection des champs et revenir à l'affichage principal de top.

Trier la liste des processus

La commande top vous permet de trier la liste des processus selon différents critères, tels que l'utilisation du CPU, l'utilisation de la mémoire ou l'identifiant de processus. Vous pouvez utiliser les touches suivantes pour trier la liste des processus :

  • o : Ouvrir le menu "Sort field" (Champ de tri).
  • et : Naviguer parmi les champs de tri disponibles.
  • Espace : Inverser l'ordre de tri (croissant ou décroissant).
  • Entrée : Appliquer le champ de tri sélectionné et revenir à l'affichage principal de top.

En maîtrisant ces interactions avec la commande top, vous pouvez surveiller et gérer efficacement les processus de votre système sur un système Ubuntu 22.04.

Automatisation des flux de travail de la commande top

Bien que la commande top offre une interface interactive puissante pour surveiller les processus système, il peut arriver que vous souhaitiez automatiser son utilisation ou l'intégrer dans un script. Cela peut être particulièrement utile pour générer des rapports, déclencher des alertes ou intégrer la commande top dans des flux de travail de gestion système plus larges.

Capture de la sortie de la commande top

Une façon d'automatiser la commande top consiste à capturer sa sortie et à la enregistrer dans un fichier ou à la transmettre à d'autres commandes pour un traitement ultérieur. Vous pouvez le faire en utilisant la commande suivante sur un système Ubuntu 22.04 :

top -b -n 1 > top_output.txt

L'option -b indique à top de fonctionner en mode "batch" (lot), ce qui signifie qu'il affichera les informations sur les processus puis se terminera, au lieu de fonctionner de manière interactive. L'option -n 1 indique à top de s'exécuter seulement une seule fois, capturant ainsi une capture instantanée de l'état actuel du système.

Vous pouvez ensuite utiliser le fichier top_output.txt enregistré pour une analyse plus approfondie ou l'intégrer à d'autres outils et scripts.

Écriture de scripts pour les flux de travail de la commande top

Pour aller plus loin dans l'automatisation, vous pouvez créer des scripts shell qui utilisent la commande top pour effectuer des tâches plus complexes. Par exemple, vous pourriez écrire un script qui :

  1. Capture la sortie de la commande top dans un fichier.
  2. Analyse la sortie pour identifier les processus qui consomment le plus de ressources.
  3. Envoie une alerte ou une notification si certains seuils sont dépassés.
  4. Termine automatiquement ou ajuste la priorité de processus spécifiques.

Voici un exemple de script qui illustre ce flux de travail :

#!/bin/bash

## Capture la sortie de la commande top
top -b -n 1 > top_output.txt

## Analyse la sortie pour identifier les processus qui consomment le plus de CPU
top_cpu_processes=$(cat top_output.txt | awk 'NR>7{print $1, $9}' | sort -nr | head -n 5)

## Vérifie si un processus consomme plus de 20 % du CPU
if echo "$top_cpu_processes" | awk '{if ($2 > 20) print $1}'; then
  echo "Alerte : Une forte utilisation du CPU a été détectée. Processus consommateurs de CPU les plus importants :"
  echo "$top_cpu_processes"
  ## Ajoutez votre logique d'alerte/notification ici
fi

En automatisant les flux de travail de la commande top, vous pouvez créer des solutions de surveillance et de gestion de système plus robustes et proactives, adaptées à vos besoins spécifiques sur un système Ubuntu 22.04.

Résumé

La commande top est un outil précieux pour les administrateurs système et les développeurs afin de comprendre l'utilisation des ressources et les performances de leurs systèmes Linux. En maîtrisant la commande top, vous pouvez identifier les processus gourmands en ressources, optimiser les performances du système et automatiser les flux de travail de surveillance pour rationaliser vos tâches de gestion système. Ce tutoriel a fourni une vue d'ensemble complète de la commande top, depuis la compréhension de sa fonctionnalité de base jusqu'à l'automatisation de son utilisation, vous dotant des connaissances nécessaires pour surveiller et optimiser efficacement les performances de vos systèmes Linux.