Utilisation de la commande sar pour l'analyse des performances sous Linux

La commande sar (System Activity Reporter) est un outil polyvalent de surveillance des performances système sur les distributions Linux. Elle fournit des rapports détaillés sur divers aspects de l'activité du système, tels que les opérations d'E/S disque, l'utilisation du processeur, la mémoire, les appels système et les processus en cours.

Syntaxe de base de sar

sar [options] [-A] [-o fichier] intervalle [nombre]

Dans cette syntaxe :

  • intervalle : durée entre chaque échantillonnage en secondes.
  • nombre : nombre total d'échantillons à collecter (par défaut : 1).
  • -o fichier : enregistre les résultats au format binaire dans le fichier spécifié.

Les options courantes incluent :

  • -A : génère un résumé de tous les rapports.
  • -u : affiche les statistiques d'utilisation du processeur.
  • -v : montre les statistiques des inodes et des tables du noyau.
  • -d : rapporte l'activité des périphériques blocs.
  • -r : affiche les statistiques de mémoire et d'espace d'échange.
  • -b : présente les taux d'E/S et de transfert.
  • -q : indique la longueur de la file d'attente des processus.

Exemple : Surveillance du processeur

Pour collecter des données sur l'utilisation du processeur toutes les 15 secondes, pendant 4 cycles, et enregistrer les résultats dans un fichier binaire nommé perf_data, exécutez :

sar -u -o perf_data 15 4

La sortie typique ressemble à :

Heure       CPU    %user   %nice   %system   %iowait   %steal   %idle
08:30:15    all    1.50    0.00    0.80      0.10      0.00     97.60
08:30:30    all    1.20    0.00    0.75      0.05      0.00     98.00
08:30:45    all    1.80    0.00    0.90      0.15      0.00     97.15
08:31:00    all    1.40    0.00    0.85      0.10      0.00     97.65
Moyenne     all    1.47    0.00    0.83      0.10      0.00     97.60

Les champs sont définis ainsi :

  • %user : pourcentage de temps CPU consommé en mode utilisateur.
  • %system : pourcentage de temps CPU utilisé en mode noyau.
  • %iowait : temps d'attente pour les opérations d'E/S.
  • %idle : temps CPU inactif.

Un taux élevé de %iowait peut indiquer un goulot d'étranglement au niveau du disque, tandis qu'un faible %idle suggère une surcharge du processeur.

Pour lire les données depuis le fichier binaire, utilisez :

sar -u -f perf_data

Surveillance des inodes et des tables du noyau

Avec l'option -v, on peut observer l'état des caches et des descripteurs. Par exemple :

sar -v 15 4

Cette commande affiche des métriques telles que le nombre de descripteurs de fichiers ou d'inodes en usage.

Analyse de la mémoire et de l'espace d'échange

L'option -r fournit des détails sur l'utilisation de la mémoire. Par exemple :

sar -r 15 4

Les indicateurs importants incluent :

  • kbmemfree : mémoire libre disponible.
  • kbmemused : mémoire totale utilisée (incluant les buffers et caches).
  • %memused : pourcentage de mémoire physique utilisée.

Des valeurs faibles de mémoire libre peuvent nécessiter une augmentation de la capacité RAM.

Surveillance des E/S

Pour évaluer les performances d'E/S disque, utilisez l'option -b :

sar -b 15 4

La sortie montre le nombre de transactions par seconde (tps) et les taux de lecture/écriture en blocs par seconde.

État de la file d'attente des processus

Avec l'option -q, on peut mesurer la charge système :

sar -q 15 4

Les champs comme runq-sz (longueur de la file d'exécution) et ldavg-1 (charge moyenne sur 1 minute) aident à diagnostiquer les problèmes de performance.

Activité des périphériques

L'option -d, combinée avec le paramètre -p pour des noms lisibles, détaille l'activité des disques :

sar -d 15 4 -p

Les métriques comme await (temps d'attente moyen) et %util (utilisation du périphérique) sont cruciales pour identifier les goulots d'étranglement d'E/S.

Conseils de diagnostic

Pour déterminer les causes des problèmes de performance, combinez plusieurs options de sar :

  • Processeur suspecté : utiliser -u et -q.
  • Mémoire suspectée : utiliser -r et -B.
  • E/S suspectées : utiliser -b et -d.

Étiquettes: sar Linux performance monitoring system activity command-line tool

Publié le 21 juillet à 08h49