Linux est un système d'exploitation très stable avec de solides fonctionnalités de sécurité. À plusieurs reprises, nous pouvons avoir besoin d'observer les performances de notre système, peut-être à cause d'un problème technique ou dans le cadre d'un bilan de santé de routine. La mesure des performances nous donne un aperçu rapide du fonctionnement de notre système, par ex. les journaux de performances peuvent nous indiquer quels processus sont en cours d'exécution, la quantité de mémoire utilisée, la quantité de CPU utilisée, etc. Ces informations nous aident également à prendre des décisions liées à la planification efficace des ressources, au débogage des problèmes système, etc. des outils linéaires et graphiques pour accomplir cette tâche. Certains d'entre eux sont pré-expédiés avec le système d'exploitation et certains peuvent devoir être installés. Ces outils sont classés comme des outils de surveillance en temps réel ou des outils basés sur des 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 continuellement mis à jour.
Les outils basés sur le journal stockent les résultats de performance dans un fichier qui peut être récupéré ultérieurement pour le traitement, l'analyse ou l'utilisation d'une autre application.
Qu'allons-nous faire 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 distributions basées sur Linux.
Pourquoi la méthode CLI ?
Une question évidente qui peut venir à l'esprit est pourquoi nous sommes plus préoccupés par les outils basés sur la ligne de commande. La première raison est que vous n'aurez peut-être pas toujours la chance de faire fonctionner un environnement graphique, par exemple. le système sur lequel vous travaillez peut-être un serveur de production distant et n'a pas d'interface graphique. Si pour un moment vous avez un système local, vous n'aurez peut-être pas les privilèges pour y installer une interface graphique. Une autre raison est qu'avec une interface de ligne de commande, nous avons la possibilité d'effectuer plusieurs tâches à la fois. Tmux est une telle application à partir de laquelle nous pouvons surveiller plusieurs systèmes en même temps.
1. Haut
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 d'échange et d'autres informations. Les statistiques des processus en termes d'utilisation de la mémoire et du processeur sont également affichées en exécutant simplement la commande top sans aucune option :
Nous pouvons également sélectionner les colonnes à afficher dans la sortie "top" en tapant "f" pendant que "top" est en cours d'exécution. Sur le nouvel écran, sélectionnez ou désélectionnez une colonne en appuyant sur la "barre d'espace" ou "d", puis appuyez sur "esc" pour revenir. Dans l'image ci-dessous, nous avons supprimé certaines colonnes et en avons ajouté une nouvelle (GID) :
2. Htop
La commande Htop affiche les données de manière plus informative et interactive. Les noms de 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 différentes colonnes affichées sur la sortie du terminal. Un autre avantage est qu'il fournit un codage couleur pour saisir et analyser facilement la sortie. ‘Htop’ peut être installé sur Ubuntu 20.04 en utilisant la commande :
$ sudo apt install htop
Pour régler divers paramètres, Htop utilise des touches de fonction. Par ex. F3 peut être utilisé pour rechercher la sortie affichée sur la console. Pour lister 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
Pour démarrer Htop en mode monochrome, utilisez :
$ htop -C
4. ps
L'implémentation de la commande 'ps' diffère remarquablement entre les différents systèmes Unix, par ex. il peut utiliser un indicateur (option) sur un système et un autre pour un système différent même si la sortie peut être la même dans les deux cas. Dans le cas de la commande 'ps', la sortie est statique contrairement à 'top' et 'htop' où nous obtenons des mises à jour en temps réel. Lorsqu'aucune option n'est passée, la commande 'ps' renvoie le nom du shell actif et des processus éventuels.
Pour afficher tous les processus en cours d'exécution, y compris ceux appartenant à d'autres utilisateurs (propriétaires), utilisez la commande :
$ ps aux
Puisque 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 consiste à utiliser la commande :
$ ps -A
Vous auriez 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 ex. pour filtrer les processus ‘/usr/lib/firefox/firefox’, utilisez :
$ ps aux | grep ‘/usr/lib/firefox/firefox/
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 reporter de mémoire virtuelle ou vmstat rassemble des données sur le CPU, la mémoire virtuelle (swapd), les E/S de bloc, les disques, etc. Si aucune option n'est utilisée, il affiche les informations moyennes sur ces paramètres. La moyenne est prise depuis le dernier redémarrage du système. Nous pouvons spécifier un taux d'échantillonnage après lequel les données seront affichées sur le terminal :
$ vmstat 2
L'utilisation de l'option "-a" vous donnera une mémoire système active et inactive. Comme la commande « ps », la sortie de « vmstat » varie selon les plates-formes. On peut aussi préciser le nombre de comptage de mesures :
$ vmstat 1 4
Le premier paramètre '1' spécifie le taux d'échantillonnage et le deuxième paramètre '4' donne le nombre de mesures à afficher dans la sortie.
Conclusion
Il s'agit d'une brève description de quatre outils basés sur la ligne de commande qui sont normalement utilisés et disponibles sur la plupart des distributions basées sur Linux. Il reste encore de nombreux outils sur lesquels compter. Chaque outil a ses propres avantages et limites et la sélection d'un outil spécifique dépend du point d'application. Nous venons d'effleurer la surface pour donner un aperçu de ces outils, vous pouvez trouver plus d'informations et d'options à utiliser en vous référant aux pages de manuel.