Comment utiliser la commande sar sous Linux

Publié: 2022-06-16
Un terminal Linux sur un écran d'ordinateur portable.
fatmawati achmad zaenuri/Shutterstock.com

La commande sar vous permet de voir les statistiques de performances pour différents éléments de votre ordinateur Linux, à la fois pour les données en temps réel et historiques. Nous vous montrons comment utiliser cette excellente ressource.

CONNEXION : Comment afficher les statistiques de performances du système sur votre Chromebook

La commande sar

La commande sar , ou System Activity Reporter, fait partie du package sysstat . Il capture un ensemble d'informations statistiques telles que la charge du processeur, la pagination de la mémoire, l'utilisation de la mémoire, l'utilisation de l'échange, les E/S réseau, etc. Il rend ces données accessibles sous forme d'instantanés en temps réel, vous montrant ce qui se passe sur votre ordinateur en ce moment, et dans des rapports historiques.

Comprendre la charge moyenne sur Linux et d'autres systèmes de type Unix
CONNEXION Comprendre la charge moyenne sur Linux et d'autres systèmes de type Unix

Il s'exécute en arrière-plan en tant que démon, rassemblant un ensemble de données toutes les dix minutes. Les données de la journée en cours sont écrites dans un fichier texte. Il est converti en un fichier binaire au passage de minuit. Les fichiers sont écrasés chaque mois afin de ne pas engloutir régulièrement la capacité de votre disque dur.

La commande sar vous permet d'interroger le système et de voir les statistiques. Mais d'abord, vous devrez installer le paquet sysstat .

Installation du paquet sysstat

L'installation sysstat est très simple. Nous utilisons le gestionnaire de packages de votre système Linux pour l'installer, puis nous utilisons systemd pour activer et démarrer le démon d'arrière-plan.

Pour installer sysstat sur Ubuntu, nous utilisons apt :

 sudo apt installer sysstat 

Installer sysstat avec apt sur Ubuntu

Pour installer sysstat sur Fedora, tapez :

 sudo dnf installer sysstat 

Installer systat avec dnf sur Fedora

Et pour installer sysstat sur Manjaro, on utilise pacman :

 sudo pacman -S sysstat 

Installer systat avec pacman sur Manjaro

Publicité

Avec sysstat installé, nous devons l'activer pour qu'il puisse s'exécuter en tant que démon - un processus d'arrière-plan - chaque fois que vous démarrez votre ordinateur, et nous devons le démarrer maintenant afin de pouvoir l'utiliser immédiatement. Nous utilisons systemctl , qui fait partie de la famille d'utilitaires systemd , pour activer et démarrer les démons.

 sudo systemctl activer sysstat 

Activation du démon sysstat

 sudo systemctl démarrer sysstat 

démarrage du démon sysstat

Pour voir quelle version de sar vous utilisez et vous assurer qu'il répond, vous pouvez utiliser l'option -V (version) :

 sar -V 

Vérification de la version de sar

Statistiques en temps réel avec sar

Vous pouvez utiliser sar pour voir ce qui se passe à l'intérieur de votre ordinateur en ce moment. Et parce qu'un instantané n'est que cela - l'état des lieux à un certain moment - et qu'une tendance est parfois plus utile, vous pouvez demander à sar d'afficher plusieurs instantanés avec un nombre spécifié de secondes entre eux.

Statistiques du processeur

Pour voir trois ensembles de statistiques CPU avec deux secondes entre eux, nous utiliserions cette commande, qui utilise l'option -u (CPU). Notez que l'intervalle vient en premier. Donc, cette commande lit "afficher les statistiques du processeur par étapes de deux secondes, pour trois ensembles de données".

 sar-u 2 3 

Affichage de trois ensembles de statistiques CPU

En étirant la fenêtre de votre terminal, le tableau s'aligne parfaitement, ce qui le rend plus facile à lire.

L'en-tête de la première colonne est l'heure à laquelle la commande a été exécutée. Les valeurs de la colonne correspondent à l'heure à laquelle chaque ensemble de données a été collecté. Les autres colonnes sont :

  • CPU : Le nombre de cœurs du CPU, ou ALL pour la moyenne de tous les cœurs.
  • %User : Le pourcentage de temps passé à exécuter des applications au niveau de l'utilisateur, "en userland".
  • %Nice : Le pourcentage de temps passé à exécuter des applications au niveau de l'utilisateur, avec une priorité agréable.
  • %system : Le pourcentage de temps passé à exécuter des processus au niveau du système, dans le noyau.
  • %iwait : Le pourcentage de temps pendant lequel le CPU était inactif avec une demande d'E/S disque en attente.
  • %steal : dans une machine virtuelle, il s'agit du pourcentage de temps pendant lequel le CPU virtuel était inactif parce que le CPU de l'hôte matériel servait une autre machine virtuelle.
  • %inactif : le pourcentage de temps pendant lequel le processeur était inactif sans aucune demande d'E/S de disque en attente.
Publicité

La ligne finale est la moyenne des lignes précédentes.

Pour voir les statistiques d'un cœur spécifique, utilisez l'option -P (par processeur). Ceci est suivi du numéro d'un cœur de processeur, ou d'une liste ou d'une plage de numéros de cœur, comme 0,1,4 ou 4-8 .

Cette commande examine trois ensembles de données séparés par une seconde, pour le cœur 1. N'oubliez pas que les cœurs sont numérotés à partir de zéro.

 sar -P 1 1 3 

Affichage des statistiques du processeur pour un seul cœur

Statistiques de pagination de la mémoire

L'option -B (paging) permet à sar d'afficher des statistiques relatives à la pagination de la mémoire sur le disque dur. Nous allons demander deux séries d'informations, avec cinq secondes d'intervalle.

 sar-B 5 2 

Affichage des statistiques de pagination de la mémoire

Les colonnes contiennent les informations suivantes.

  • pgpgin/s : nombre total de kilo-octets que le système a introduits (récupérés) à partir du disque dur par seconde.
  • pgpgout/s : nombre total de kilo-octets que le système a envoyés sur le disque dur par seconde.
  • faute/s : Nombre de fautes de page, mineures et majeures, faites par le système par seconde.
  • majflt/s : Nombre de fautes majeures que le système a faites par seconde, qui ont nécessité le chargement d'une page mémoire à partir du disque.
  • pgfree/s : Nombre de pages placées sur la liste libre par le système par seconde.
  • pgscank/s : nombre de pages scannées par le démon kswapd du système de gestion de la mémoire par seconde.
  • pgscand/s : Nombre de pages scannées directement par seconde.
  • pgsteal/s : nombre de pages que le système a récupérées du cache par seconde.
  • %vmeff : Calculé comme pgsteal / pgscan , c'est une indication de l'efficacité des récupérations de pages.

Taux de transfert d'E/S

Pour voir les statistiques d'E/S et de taux de transfert, utilisez l'option -b (remarque, "b" minuscule). Nous demandons trois ensembles de données avec quatre secondes entre eux.

 sar-b 4 3 

Affichage des statistiques de transfert d'E/S

C'est ce que contiennent les colonnes.

  • tps : nombre total de demandes de transfert par seconde effectuées vers des périphériques physiques. Notez qu'il s'agit d'un nombre de requêtes . Ils n'ont peut-être pas tous réussi.
  • rtps : nombre total de requêtes de lecture par seconde émises vers des périphériques physiques.
  • wtps : nombre total de requêtes d'écriture par seconde émises vers des périphériques physiques.
  • dtps : nombre total de demandes de suppression par seconde émises vers des périphériques physiques.
  • pain/s : quantité totale de données lues à partir de périphériques physiques. Le chiffre est donné en blocs de 512 octets, par seconde.
  • bwrtn/s : quantité totale de données écrites sur des périphériques physiques en blocs par seconde.
  • bdscd/s : quantité totale de données supprimées en blocs par seconde.

Il existe de nombreuses autres catégories d'informations que vous pouvez sélectionner pour les examiner. Ils sont tous utilisés de la même manière. Vous pouvez également utiliser l'option -A (tout) pour voir un vidage complet de tout ce que sar peut vous lancer.

Consultez la page de manuel sar pour la liste complète.

CONNEXION : Que sont les vitesses de lecture/écriture et pourquoi sont-elles importantes ?

Statistiques historiques avec sar

Pour examiner l'une des données historiques, il suffit simplement d'ajouter les options -s (début) et -e (fin) à l'une des commandes sar habituelles. Les heures sont exprimées au format 24 heures.

Publicité

Pour voir à quoi ressemblait la charge du processeur entre 06h30 et 07h15 aujourd'hui , nous allons utiliser cette commande.

 sar -u -s 06:30:00 -e 07:15:00 

Affichage des données historiques du début de la journée

Pour voir à quoi ressemblait la situation un jour précédent, utilisez un nombre comme indicateur d'option. Le nombre indique le jour sur lequel signaler. L'option -1 signifierait hier, l'option -2 signifierait il y a deux jours, et ainsi de suite.

Générons un rapport entre 13h00 et 13h00, en utilisant les données d'hier.

 sar -u -1 -s 13:00:00 -e 13:30:00 

Affichage des informations historiques d'hier

Une autre façon de spécifier le jour pour lequel vous souhaitez créer un rapport consiste à utiliser le nom du fichier de données de ce jour sur la ligne de commande. Nous faisons cela avec l'option -f (nom de fichier).

Les fichiers journaliers sont appelés « saXX » où le XX est remplacé par le jour du mois. Ils sont créés dans le dossier log de votre ordinateur Linux. Le dossier du journal sar s'appelle probablement "/var/log/sa/" ou "/var/log/sysstat/".

Publicité

Sur Ubuntu, c'est "/var/log/sysstat/" donc le format de notre commande pour voir l'utilisation du CPU entre 14h00 et 14h30 pour le 21e jour de ce mois ressemblerait à ceci :

 sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21 

Affichage des données historiques d'un fichier de données spécifique

L'information, c'est le pouvoir

Et sar vous donne certainement suffisamment d'informations pour prendre des décisions éclairées sur les performances de votre ordinateur.

Si vous jouez un rôle d'assistance ou si vous êtes l'assistance technique de vos amis et de votre famille, la possibilité de consulter les données historiques est un excellent moyen de commencer à approfondir un problème qui vous est signalé aujourd'hui mais qui s'est réellement produit hier. Ou la semaine dernière.

EN RELATION : Système lent ? Comment voir si Linux est lié à la mémoire, au processeur ou aux E/S