Sar

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Monitoring système (CPU, mémoire, disques, réseau)
Commande sar
Contexte Paquet sysstat — collecte historisée via cron (sadc/sa1/sa2)
Voir aussi Nmon (monitoring temps réel/historique, alternative)

sar (System Activity Reporter) fait partie du paquet sysstat. Il permet de consulter en temps réel les statistiques CPU, mémoire, disques et réseau, mais aussi de rejouer l'historique collecté périodiquement par cron (fichiers /var/log/sysstat/saXX), ce qui en fait un outil de choix pour investiguer un incident après coup.

Utilisation de base

# Toutes les 3 secondes, 10 fois de suite
sar -b 3 10

# Rejouer l'historique d'une plage horaire depuis un fichier sysstat
sar -f /var/log/sysstat/sa16 -s 22:00:00 -e 23:00:00 -w -q -i 4

Options par domaine

CPU

sar -u 3 10        # stats CPU (cumul de tous les CPU)
sar -P ALL 3 10    # stats détaillées par CPU
sar -q             # run queue / load average
sar -w             # nombre de processus créés par seconde

Mémoire

sar -r 3 10   # mémoire et swap
sar -S        # activité de swap
sar -R        # pages mémoire libérées/allouées
sar -H        # pages de grande taille (huge pages)
sar -B        # statistiques de pagination
sar -W        # statistiques de swap (swap in/out)

Disques

sar -d      # I/O et débit par disque
sar -b      # activité globale des buffers d'E/S
sar -pd     # comme -d, avec les noms de périphériques lisibles (pretty)

Réseau

sar -n DEV 3 10   # statistiques par interface réseau

Lire les résultats

CPU (sar -u / sar)

  • %user : utilisation CPU par les applications en espace utilisateur
  • %nice : idem, pour les processus exécutés avec une priorité "nice" modifiée
  • %system : utilisation CPU côté noyau
  • %iowait : temps CPU passé à attendre la fin de requêtes I/O
  • %steal : temps volé par l'hyperviseur au profit d'un autre CPU virtuel (pertinent en VM)
  • %idle : temps CPU inactif, sans requête I/O en attente

Disques (sar -dp)

  • DEV : disque ou partition mesuré
  • tps : transferts par seconde émis vers le disque (plusieurs requêtes logiques peuvent être fusionnées en une seule I/O)
  • rd_sec/s / wr_sec/s : secteurs lus/écrits par seconde (secteur = 512 octets)
  • avgrq-sz : taille moyenne des requêtes, en secteurs
  • avgqu-sz : taille moyenne de la file d'attente des requêtes
  • await : temps moyen de traitement d'une requête (ms), attente en file comprise
  • svctm : temps moyen de service d'une requête (ms)
  • %util : pourcentage du temps où le disque avait au moins une I/O en cours (saturation de bande passante)

Outils associés (sysstat)

  • sadcsystem activity data collector, le backend qui collecte les données pour sar
  • sa1 — historise les activités système dans un fichier binaire (appelé par cron, s'appuie sur sadc)
  • sa2 — génère le résumé quotidien à partir des données collectées (appelé par cron)
  • sadf — exporte les données sar en CSV, XML ou d'autres formats, pour intégration avec d'autres outils
  • iostat — statistiques CPU et I/O
  • mpstat — statistiques CPU détaillées
  • pidstat — statistiques par PID
  • nfsiostat — statistiques I/O NFS
  • cifsiostat — statistiques CIFS
  • Ksar — export graphique des données collectées par sysstat/sar

Dépannage

Si sar n'enregistre pas les activités disque (colonnes disque vides dans l'historique), c'est que la collecte n'a pas été démarrée avec l'option adéquate. Sur RHEL 5, corriger dans la configuration de sysstat :

vi /etc/sysconfig/sysstat
# ajouter :
SADC_OPTIONS="-d"

service sysstat restart

Voir aussi

  • Nmon — monitoring système temps réel, alternative/complément à sar
  • iostat — focus I/O disque, sans historisation cron