Base de connaissances · Serveurs dédiés et VPS

Comment utiliser sar pour surveiller les ressources du serveur (Linux)

Dernière mise à jour : 2025-06-16

10 UTILISATIONS DE SAR


1. Utilisation du CPU de tous les CPU (sar -u)

Cette commande affiche l'utilisation cumulée en temps réel de tous les CPU. “1 3″ génère un rapport toutes les 1 seconde, soit 3 fois au total. Le plus souvent, vous vous intéresserez au dernier champ, “%idle”, pour connaître la charge du CPU.

$ sar -u 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:27:32 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:27:33 PM       all      0.00      0.00      0.00      0.00      0.00    100.00
01:27:34 PM       all      0.25      0.00      0.25      0.00      0.00     99.50
01:27:35 PM       all      0.75      0.00      0.25      0.00      0.00     99.00
Average:          all      0.33      0.00      0.17      0.00      0.00     99.50


Voici quelques variantes :

  • sar -u Affiche l'utilisation du CPU pour la journée en cours, collectée jusqu'à présent.
  • sar -u 1 3 Affiche l'utilisation du CPU en temps réel toutes les 1 seconde, 3 fois.
  • sar -u ALL Identique à “sar -u”, mais avec des champs supplémentaires.
  • sar -u ALL 1 3 Identique à “sar -u 1 3″, mais avec des champs supplémentaires.
  • sar -u -f /var/log/sa/sa10 Affiche l'utilisation du CPU pour le 10 du mois à partir du fichier sa10.


2. Utilisation du CPU par processeur ou par cœur (sar -P)

Si votre serveur dispose de 4 cœurs et que vous souhaitez voir l'activité de chacun d'eux, procédez comme suit.

“-P ALL” indique que les statistiques de tous les cœurs doivent être affichées individuellement.

Dans l'exemple suivant, les numéros 0, 1, 2 et 3 de la colonne “CPU” correspondent aux numéros des cœurs du CPU.

$ sar -P ALL 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:34:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:34:13 PM       all     11.69      0.00      4.71      0.69      0.00     82.90
01:34:13 PM         0     35.00      0.00      6.00      0.00      0.00     59.00
01:34:13 PM         1     22.00      0.00      5.00      0.00      0.00     73.00
01:34:13 PM         2      3.00      0.00      1.00      0.00      0.00     96.00
01:34:13 PM         3      0.00      0.00      0.00      0.00      0.00    100.00


“-P 1″ indique que les statistiques doivent être affichées uniquement pour le 2e cœur. (Notez que la numérotation des cœurs commence à 0).


$ sar -P 1 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:36:25 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:36:26 PM         1      8.08      0.00      2.02      1.01      0.00     88.89


Voici quelques variantes :

  • sar -P ALL Affiche l'utilisation du CPU détaillée pour chaque cœur pour la journée en cours.
  • sar -P ALL 1 3 Affiche l'utilisation du CPU en temps réel pour tous les cœurs toutes les 1 seconde, 3 fois (détail par cœur).
  • sar -P 1 Affiche l'utilisation du CPU pour le cœur numéro 1 pour la journée en cours.
  • sar -P 1 1 3 Affiche en temps réel l'utilisation du CPU pour le cœur numéro 1, toutes les 1 seconde, 3 fois.
  • sar -P ALL -f /var/log/sa/sa10 Affiche l'utilisation du processeur détaillée pour tous les cœurs pour le 10e jour du mois, à partir du fichier sa10.


3. Mémoire libre et utilisée (sar -r)

Cette commande affiche les statistiques de mémoire. “1 3″ génère un rapport toutes les 1 seconde, 3 fois au total. Vous voudrez très probablement vous concentrer sur “kbmemfree” et “kbmemused”, qui correspondent à la mémoire libre et à la mémoire utilisée.

$ sar -r 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:28:06 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
07:28:07 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:08 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:09 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
Average:      6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204


Voici quelques variantes :

  • sar -r
  • sar -r 1 3
  • sar -r -f /var/log/sa/sa10


4. Espace d'échange (swap) utilisé (sar -S)

Cette commande affiche les statistiques d'utilisation du swap. “1 3″ génère un rapport toutes les 1 seconde, 3 fois au total. Si les valeurs “kbswpused” et “%swpused” sont à 0, votre système n'utilise pas le swap.

$ sar -S 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:31:06 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
07:31:07 AM   8385920         0      0.00         0      0.00
07:31:08 AM   8385920         0      0.00         0      0.00
07:31:09 AM   8385920         0      0.00         0      0.00
Average:      8385920         0      0.00         0      0.00


Voici quelques variantes :

  • sar -S
  • sar -S 1 3
  • sar -S -f /var/log/sa/sa10


Remarques :

  • Utilisez « sar -R » pour connaître le nombre de pages mémoire libérées, utilisées et mises en cache par seconde par le système.
  • Utilisez « sar -H » pour connaître les hugepages (en Ko) utilisées et disponibles.
  • Utilisez « sar -B » pour générer des statistiques de pagination, c'est-à-dire le nombre de Ko chargés depuis le disque (et écrits sur le disque) par seconde.
  • Utilisez « sar -W » pour générer des statistiques d'échange de pages, c'est-à-dire le nombre de pages échangées en entrée (et en sortie) par seconde.


5. Activité d'E/S globale (sar -b)

Cette commande génère des statistiques d'E/S. “1 3″ génère un rapport toutes les 1 seconde, au total 3 fois.

Les champs suivants sont affichés dans l'exemple ci-dessous.

  • tps – Transactions par seconde (lectures et écritures confondues)
  • rtps – Transactions de lecture par seconde
  • wtps – Transactions d'écriture par seconde
  • bread/s – Octets lus par seconde
  • bwrtn/s – Octets écrits par seconde

$ sar -b 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:56:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:56:29 PM    346.00    264.00     82.00   2208.00    768.00
01:56:30 PM    100.00     36.00     64.00    304.00    816.00
01:56:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

 

Voici quelques variantes :

  • sar -b
  • sar -b 1 3
  • sar -b -f /var/log/sa/sa10

Remarque : Utilisez « sar -v » pour afficher le nombre de gestionnaires d'inodes, de gestionnaires de fichiers et de pseudo-terminaux utilisés par le système.



6. Activité d'E/S par périphérique de bloc (sar -d)

Pour identifier l'activité de chaque périphérique de bloc (c'est-à-dire un point de montage, un LUN ou une partition spécifique), utilisez « sar -d »

$ sar -d 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM    dev8-0      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM    dev8-1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM dev120-64      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM dev120-65      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM  dev120-0      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM  dev120-1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM dev120-96      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM dev120-97      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91


Dans l'exemple ci-dessus, « DEV » désigne un périphérique de bloc spécifique.


Par exemple : « dev53-1 » désigne un périphérique de bloc dont le numéro majeur est 53 et le numéro mineur est 1.

Le nom du périphérique (colonne DEV) peut afficher le nom réel du périphérique (par exemple : sda, sda1, sdb1, etc.) si vous utilisez l'option -p (affichage lisible), comme indiqué ci-dessous.

$ sar -p -d 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM       sda      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sda1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sdb1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sdc1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sde1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sdf1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sda2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM      sdb2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

 

Voici quelques variantes :

  • sar -d
  • sar -d 1 3
  • sar -d -f /var/log/sa/sa10
  • sar -p -d


7. Afficher les changements de contexte par seconde (sar -w)

Cette commande indique le nombre total de processus créés par seconde, ainsi que le nombre total de changements de contexte par seconde. “1 3″ produit un rapport toutes les 1 seconde, 3 fois au total.

$ sar -w 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

08:32:24 AM    proc/s   cswch/s
08:32:25 AM      3.00     53.00
08:32:26 AM      4.00     61.39
08:32:27 AM      2.00     57.00

 

Voici quelques variantes :

  • sar -w
  • sar -w 1 3
  • sar -w -f /var/log/sa/sa10


8. Afficher la file d'exécution et la charge moyenne (sar -q)

Ceci indique la taille de la file d'attente et la charge moyenne pour les dernières 1 minute, 5 minutes et 15 minutes. “1 3″ rapporte pour une seconde au total de 3 fois.

$ sar -q 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

06:28:53 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
06:28:54 AM         0       230      2.00      3.00      5.00         0
06:28:55 AM         2       210      2.01      3.15      5.15         0
06:28:56 AM         2       230      2.12      3.12      5.12         0
Average:            3       230      3.12      3.12      5.12         0

Remarque : La colonne “blocked” indique le nombre de tâches actuellement bloquées en attente de la fin d'une opération d'E/S.

Voici quelques variantes :

  • sar -q
  • sar -q 1 3
  • sar -q -f /var/log/sa/sa10


9. Afficher les statistiques réseau (sar -n)

Cette commande affiche diverses statistiques réseau, par exemple : le nombre de paquets reçus (transmis) par la carte réseau, les statistiques d'échec de paquets, etc. “1 3″ affiche un rapport toutes les 1 seconde, un total de 3 fois.

sar -n KEYWORD

 

Mots-clés peut prendre l'une des valeurs suivantes :

  • DEV – Affiche les statistiques essentielles des périphériques réseau eth0, eth1, etc.
  • EDEV – Affiche les statistiques d'erreurs des périphériques réseau
  • NFS – Affiche l'activité du client NFS
  • NFSD – Affiche l'activité du serveur NFS
  • SOCK – Affiche les sockets utilisées pour IPv4
  • IP – Affiche le trafic réseau IPv4
  • EIP – Affiche les erreurs réseau IPv4
  • ICMP – Affiche le trafic réseau ICMPv4
  • EICMP – Affiche les erreurs réseau ICMPv4
  • TCP – Affiche le trafic réseau TCPv4
  • ETCP – Affiche les erreurs réseau TCPv4
  • UDP – Affiche le trafic réseau UDPv4
  • SOCK6, IP6, EIP6, ICMP6 et UDP6 concernent IPv6
  • ALL – Affiche l'ensemble des informations ci-dessus. La sortie sera très longue.
$ sar -n DEV 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:11:13 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
01:11:14 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:11:14 PM      eth0    342.57    342.57  93923.76 141773.27      0.00      0.00      0.00
01:11:14 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

10. Afficher les données Sar à partir d'une heure de début (sar -s)

Lorsque vous visualisez les données sar historiques du fichier /var/log/sa/saXX en utilisant l'option “sar -f”, il affiche toutes les données sar pour ce jour précis à partir de 12h00 pour ce jour-là.

L'option “-s hh:mi:ss” permet de spécifier l'heure de début. Par exemple, si vous saisissez “sar -s 10:00:00″, les données sar s'afficheront à partir de 10 h (au lieu de minuit), comme illustré ci-dessous.

Vous pouvez combiner l'option -s avec d'autres options de sar.

Par exemple, pour afficher la charge moyenne du 26 de ce mois à partir de 10 h du matin, combinez les options -q et -s comme indiqué ci-dessous.

$ sar -q -f /var/log/sa/sa23 -s 10:00:01
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
...
11:20:01 AM         0       127      5.00      3.00      3.00         0
12:00:01 PM         0       127      4.00      2.00      1.00         0


Il n'existe aucune option permettant de limiter l'heure de fin. Il vous faut faire preuve d'ingéniosité et utiliser la commande head comme indiqué ci-dessous.


Par exemple, si vous souhaitez afficher 7 entrées à partir de 10 h, vous devez rediriger la sortie ci-dessus vers “head -n 10″.

$ sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
10:30:01 AM         0       127      3.00      5.00      2.00         0
10:40:01 AM         0       127      4.00      2.00      1.00         2
10:50:01 AM         0       127      3.00      5.00      5.00         0
11:00:01 AM         0       127      2.00      1.00      6.00         0
11:10:01 AM         0       127      1.00      3.00      7.00         2


Il reste beaucoup à dire sur la surveillance et l'optimisation des performances sous Linux. Nous n'en sommes qu'au début. D'autres articles de la série consacrée aux performances suivront.


← Tous les articles de la base de connaissances

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.