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.
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.