4 outils de surveillance des performances Linux basés sur la CLI : top, htop, ps et vmstat

Linux est un système d’exploitation très stable doté de solides fonctions de sécurité. À plusieurs reprises, nous pouvons avoir besoin d’observer les performances de notre système, peut-être à cause d’un pépin technique ou dans le cadre d’un bilan de santé de routine. La mesure des performances nous donne un aperçu rapide de l’état de notre système, par exemple, les journaux des performances peuvent nous dire quels processus sont en cours d’exécution, quelle quantité de mémoire est utilisée, quelle quantité de CPU est utilisée, etc. Ces informations nous aident aussi à prendre des décisions liées à la planification efficace des ressources, au débogage des problèmes du système, etc. La plupart des distros Linux fournissent des outils en ligne de commande et des outils graphiques pour accomplir cette tâche. Certains d’entre eux sont livrés avec le système d’exploitation et d’autres doivent être installés. Ces outils sont classés en outils de surveillance en temps réel ou en outils basés sur les journaux.

Les outils de surveillance en temps réel, comme leur nom l’indique, fournissent des informations sur le système dans son état actuel. Les résultats sont mis à jour en permanence.

Les outils basés sur les journaux stockent les résultats des performances dans un fichier qui peut être récupéré ultérieurement pour être traité, analysé ou travaillé avec une autre application.

Que ferons-nous ici ?

Dans ce guide, nous présenterons certains des outils en ligne de commande couramment utilisés pour surveiller les performances du système. Nous utilisons le système d’exploitation Ubuntu 20.04 pour ce guide, bien que les outils dont nous allons parler soient disponibles pour la plupart des distros basées sur Linux.

Pourquoi la méthode CLI ?

Une question évidente qui peut te venir à l’esprit est de savoir pourquoi nous sommes plus concernés par les outils basés sur la ligne de commande. La première raison est que tu n’as pas toujours la chance de faire fonctionner un environnement graphique. Par exemple, le système sur lequel tu travailles est peut-être un serveur de production distant et ne possède pas d’interface graphique. Si, pour un moment, tu as un système local, tu n’as peut-être pas les privilèges pour y installer une interface graphique. Une autre raison est qu’avec une interface en ligne de commande, nous avons la possibilité de faire du multitâche. Tmux est une telle application à partir de laquelle nous pouvons surveiller plusieurs systèmes en même temps.

1. Top

Cette commande affiche un résumé de l’état du système en temps réel. La sortie affiche la quantité de mémoire système (RAM) utilisée à différentes fins, le pourcentage de CPU utilisé, la mémoire swap et d’autres informations. Les statistiques des processus en termes d’utilisation de la mémoire et du cpu sont également affichées en exécutant simplement la commande top sans aucune option :

Sortie de commande supérieure

Nous pouvons aussi sélectionner les colonnes à afficher dans la sortie de ‘top’ en tapant ‘f’ pendant l’exécution de ‘top’. Sur le nouvel écran, sélectionne ou désélectionne une colonne en appuyant sur la barre d’espace ou sur ‘d’, puis appuie sur ‘esc’ pour revenir. Dans l’image ci-dessous, nous avons supprimé certaines colonnes et en avons ajouté une nouvelle (GID) :

Personnalise la sortie de la commande 'top'.

2. Htop

La commande Htop affiche les données de manière plus informative et interactive. Les noms des processus sont plus descriptifs et l’intégration de la souris est une fonctionnalité supplémentaire qui n’est pas présente avec la commande ‘top’. Nous pouvons utiliser la souris pour sélectionner diverses colonnes affichées sur la sortie du terminal. Un autre avantage est qu’il fournit un code de couleurs pour faciliter la compréhension et l’analyse de la sortie. ‘Htop’ peut être installé sur Ubuntu 20.04 à l’aide de la commande :

$ sudo apt install htop

Pour régler divers paramètres, Htop utilise des touches de fonction. Par exemple, F3 peut être utilisée pour rechercher la sortie affichée sur la console. Pour répertorier les processus appartenant à un utilisateur spécifique, la commande à utiliser est :

$ htop -u User_Name

Pour l’utilisateur root, la commande sera: :

$ htop -u root

La sortie de la commande 'htop'.
Pour démarrer Htop en mode monochrome, utilise :

$ htop -C

4. ps

La mise en œuvre de la commande ‘ps’ diffère remarquablement d’un système Unix à l’autre, par exemple elle peut utiliser un drapeau (option) sur un système et un autre sur un système différent, même si le résultat est le même dans les deux cas. Dans le cas de la commande ‘ps’, le résultat est statique, contrairement à ‘top’ et ‘htop’ où nous obtenons des mises à jour en temps réel. Si aucune option n’est passée, la commande ‘ps’ renvoie le nom du shell actif et des éventuels processus.

Pour afficher tous les processus en cours, y compris ceux qui appartiennent à d’autres utilisateurs (propriétaires), utilise la commande :

$ ps aux

La sortie de la commande 'ps'.

Comme nous avons utilisé l’option ‘u’, le nom des utilisateurs sera également affiché. Une autre façon d’afficher la liste des processus en cours d’exécution sur le système est d’utiliser la commande :

$ ps -A

Tu auras probablement remarqué que les sorties de la commande ‘ps’ sont généralement volumineuses. Pour simplifier le travail d’analyse ou de filtrage, nous pouvons utiliser la commande ‘grep’. Par exemple, pour filtrer les processus ‘/usr/lib/firefox/firefox’, utilise :

$ ps aux | grep ‘/usr/lib/firefox/firefox/

Commande 'ps' avec 'grep'.
De même, nous pouvons rediriger la sortie vers un fichier plutôt que de l’afficher sur le terminal. Voici un exemple :

$ ps -aux > output.txt

La commande ci-dessus dirigera la sortie vers un fichier ‘output.txt’.

4. Vmstat

Le rapporteur de mémoire virtuelle ou vmstat rassemble des données sur le CPU, la mémoire virtuelle (swapd), les E/S en bloc, les disques, etc. Si aucune option n’est utilisée, il affiche les informations moyennes sur ces paramètres. La moyenne est prise à partir de la dernière fois que le système a été redémarré. On peut spécifier un taux d’échantillonnage après lequel les données seront affichées sur le terminal :

$ vmstat  2

En utilisant l’option ‘-a’, tu obtiendras la mémoire active et inactive du système. Comme la commande ‘ps’, le résultat de ‘vmstat’ varie selon les plateformes. Nous pouvons également spécifier le nombre de mesures :

$ vmstat 1 4

Sortie de la commande 'vmstat
Le premier paramètre ‘1’ indique le taux d’échantillonnage et le deuxième paramètre ‘4’ donne le nombre de mesures à afficher dans la sortie.

Conclusion

Ceci est une brève discussion de quatre outils en ligne de commande qui sont normalement utilisés et disponibles sur la plupart des distros basées sur Linux. Il existe encore de nombreux outils sur lesquels compter. Chaque outil a ses propres avantages et limites et le choix d’un outil spécifique dépend du point d’application. Nous n’avons fait qu’effleurer la surface pour donner un aperçu de ces outils, tu peux trouver plus d’informations et d’options à utiliser en te référant aux pages de manuel.

Vous aimerez aussi...