GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser sar pour surveiller les ressources sous Linux

Cet article présente 10 façons d'utiliser la commande System Activity Report (sar) pour surveiller les ressources sous Linux®.

1. Afficher l'utilisation collective de tous les CPU

Exécutez la commande suivante pour afficher un résumé de l'utilisation du processeur :

sar -u

Cette commande affiche l'utilisation cumulée des ressources en temps réel de tous les processeurs.

Vous pouvez ajouter plus de paramètres à cette commande. Par exemple, ajouter 1 3 à la fin de la commande, comme indiqué dans l'exemple suivant, rapporte pour chaque seconde un total de 3 fois :

sar -u 1 3

Le résultat ressemble à l'exemple suivant :

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

Le dernier champ, %idle , indique la charge CPU.

La commande a les variantes suivantes :

  • sar -u  :affiche l'utilisation du processeur pour la journée en cours.
  • sar -u 1 3  :affiche l'utilisation du processeur en temps réel toutes les 1 secondes pendant 3 fois.
  • sar -u ALL :Identique à sar -u commande, mais affiche des champs supplémentaires.
  • sar -u ALL 1 3 :Identique au sar -u 1 3 commande, mais affiche des champs supplémentaires.
  • sar -u -f /var/log/sa/sa10  :Affiche l'utilisation du processeur pour le dixième jour du mois à partir du sa10 fichier.

2. Afficher l'utilisation du processeur par processeur ou cœur

Exécutez la commande suivante pour afficher l'utilisation du processeur par processeur ou par cœur :

sar -P ALL 1 1

Le -P ALL indique que vous souhaitez afficher les statistiques pour tous les cœurs individuels.

Dans le CPU colonne de l'exemple de sortie suivant, 0 , 1 , 2 , et 3 sont les numéros de cœur du processeur :

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

Si vous souhaitez afficher les statistiques uniquement pour le deuxième cœur, utilisez le -P 1 flag (car les numéros de base commencent à 0), comme illustré dans l'exemple suivant :

sar -P 1 1 1

Le résultat ressemble à l'exemple suivant :

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

Les variantes suivantes peuvent également vous être utiles :

  • sar -P ALL  :affiche l'utilisation du processeur pour chaque cœur pour la journée en cours.
  • sar -P ALL 1 3  :affiche l'utilisation du processeur en temps réel de chaque cœur toutes les 1 secondes pendant 3 fois.
  • sar -P 1  :affiche l'utilisation du processeur pour le cœur numéro 1 pour la journée en cours.
  • sar -P 1 1 3  :Affiche l'utilisation du processeur en temps réel pour le cœur numéro 1, toutes les secondes pendant 3 fois.
  • sar -P ALL -f /var/log/sa/sa10  :affiche l'utilisation du processeur pour chaque cœur pour le dixième jour du mois à partir du sa10 fichier.

3. Afficher la mémoire libre et utilisée

Exécutez la commande suivante pour afficher la mémoire libre et utilisée :

sar -r

Si vous ajoutez 1 3 à la commande comme indiqué dans l'exemple suivant, la sortie rapporte pour chaque 1 seconde un total de 3 fois :

sar -r 1 3

La sortie ressemble à l'exemple suivant, dans lequel kbmemfree est de la mémoire libre et kbmemused est utilisé la mémoire :

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

Cette commande a les variantes suivantes :

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

4. Afficher l'utilisation de l'espace d'échange

Exécutez la commande suivante pour afficher la quantité d'espace d'échange utilisé :

sar -S

Si vous ajoutez 1 3 à la fin de la commande comme indiqué dans l'exemple suivant, la sortie rapporte pour chaque 1 seconde un total de 3 fois :

sar -S 1 3

Le résultat ressemble à l'exemple suivant :

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

Remarque :Si le kbswpused et %swpused sont à 0 , votre système ne permute pas.

Cette commande a les variantes suivantes :

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

Commandes d'espace d'échange supplémentaires

Les commandes d'espace d'échange suivantes peuvent également vous être utiles :

  • Utilisez sar -R pour identifier le nombre de pages mémoire que le système a libérées, utilisées et mises en cache.
  • Utilisez sar -H pour identifier les HugePages Linux® (en kilo-octets (Ko)) utilisées et disponibles.
  • Utilisez sar -B pour générer des statistiques de pagination, telles que le nombre de Ko paginés (et sortants) du disque par seconde.
  • Utilisez sar -W pour générer des statistiques d'échange de pages, telles que l'échange de pages entrantes (et sortantes) par seconde.

5. Afficher les activités d'E/S

Exécutez la commande suivante pour afficher les activités d'entrée et de sortie (E/S) globales :

sar -b

La sortie de cette commande affiche les statistiques d'E/S. Si vous ajoutez 1 3 jusqu'à la fin de la commande, comme illustré dans l'exemple suivant, la sortie signale 3 fois au total toutes les 1 secondes :

sar -b 1 3

Le résultat ressemble à l'exemple suivant :

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

La sortie comprend les champs suivants :

  • tps  :Transactions par seconde (en lecture et en écriture)
  • rtps  :Lecture des transactions par seconde
  • wtps  :Écrire des transactions par seconde
  • bread/s :Octets lus par seconde
  • bwrtn/s :Octets écrits par seconde

Cette commande a les variantes suivantes :

  • 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. Afficher les activités d'E/S des périphériques de bloc individuels

Exécutez la commande suivante pour afficher les activités d'E/S des périphériques blocs individuels :

sar -d

Pour identifier les activités par périphérique de bloc individuel (tel qu'un point de montage spécifique, un numéro d'unité logique (LUN) ou une partition), utilisez sar -d , comme illustré dans l'exemple suivant :

sar -d 1 1

Le résultat ressemble à l'exemple suivant :

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 cet exemple, les valeurs dans le DEV colonne représentent des périphériques de bloc spécifiques. Par exemple, dev53-1 signifie un périphérique bloc avec 53 comme numéro majeur et 1 comme numéro mineur.

Vous pouvez utiliser la jolie impression (-p ) comme indiqué dans l'exemple suivant pour que la colonne affiche le nom réel de l'appareil (tel que sda, sda1 ou sdb1) :

sar -p -d 1 1

Le résultat ressemble à l'exemple suivant :

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

Cette commande a les variantes suivantes :

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

7. Afficher le changement de contexte par seconde

Exécutez la commande suivante pour afficher le changement de contexte par seconde :

sar -w

Cette commande indique le nombre total de processus créés par seconde et le nombre total de changements de contexte par seconde. Si vous ajoutez 1 3 à la fin de la commande, comme illustré dans l'exemple suivant, il signale pour chaque 1 seconde un total de 3 fois :

sar -w 1 3

Le résultat ressemble à l'exemple suivant :

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

Cette commande a les variantes suivantes :

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

8. Afficher la file d'attente d'exécution et la charge moyenne

Exécutez la commande suivante pour afficher la file d'attente d'exécution et la charge moyenne :

sar -q

Cette commande signale la taille de la file d'attente d'exécution et la charge moyenne pour la dernière minute, les 5 dernières minutes et les 15 dernières minutes. Si vous ajoutez 1 3 à la fin de la commande comme indiqué dans l'exemple suivant, il signale pour chaque 1 seconde un total de 3 fois :

sar -q 1 3

Le résultat ressemble à l'exemple suivant :

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 :Le blocked affiche le nombre de tâches actuellement bloquées et en attente de la fin des opérations d'E/S.

Cette commande a les variantes suivantes :

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

9. Afficher les statistiques du réseau

Exécutez la commande suivante pour afficher les statistiques du réseau :

sar -n

Cette commande rapporte diverses statistiques réseau, telles que le nombre de paquets reçus (transmis) via la carte réseau ou le nombre d'échecs de paquets qui se sont produits. Si vous ajoutez 1 3 à la fin de la commande, il signale pour chaque 1 seconde un total de 3 fois.

Vous pouvez également ajouter un mot-clé à la commande, comme illustré dans l'exemple suivant :

sar -n KEYWORD

KEYWORD peut être l'une des options suivantes :

  • DEV  :affiche les statistiques vitales des périphériques réseau
  • EDEV  :Afficher les statistiques d'échec des périphériques réseau
  • NFS  :Affiche les activités du client NFS (Network File System)
  • NFSD :Affiche les activités du serveur NFS
  • SOCK  :Affiche les sockets utilisés pour IPv4
  • IP  :Affiche le trafic réseau IPv4
  • EIP  :Affiche les erreurs de réseau IPv4
  • ICMP  :Affiche le trafic réseau ICMPv4
  • EICMP  :Affiche les erreurs de réseau ICMPv4
  • TCP  :Affiche le trafic réseau TCPv4
  • ETCP  :Affiche les erreurs de réseau TCPv4
  • UDP  :Affiche le trafic réseau UDPv4
  • SOCK6 , IP6 , EIP6 , ICMP6 , et UDP6 :affiche les informations sur le réseau IPv6
  • ALL :Affiche toutes les informations précédentes

L'exemple suivant utilise le DEV mot-clé :

sar -n DEV 1 1

Le résultat ressemble à l'exemple suivant :

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. Rapporter les données sar par heure de début

Exécutez la commande suivante pour rapporter les données sar par heure de début :

sar -s

Lorsque vous affichez les données sar historiques de /var/log/sa/saXX fichier en utilisant le sar -f option, la sortie affiche toutes les données sar pour ce jour spécifique commençant à 12h00.

Vous pouvez utiliser le -s hh:mi:ss possibilité de spécifier l'heure de début. Par exemple, si vous spécifiez sar -s 10:00:00 , la sortie de la commande affiche les sardata à partir de 10 h (au lieu de minuit par défaut).

Vous pouvez combiner les -s drapeau avec d'autres drapeaux sar. Par exemple, pour reporter la charge moyenne le 26 du mois en cours à partir de 10h, associez -q et -s flags comme indiqué dans l'exemple suivant :

sar -q -f /var/log/sa/sa23 -s 10:00:01

Le résultat ressemble à l'exemple suivant :

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

Vous ne pouvez pas spécifier d'heure de fin. Au lieu de cela, vous devez utiliser le head commande. Par exemple, si vous voulez commencer à 10 h 00 et voir 7 entrées, vous dirigez la sortie précédente vers head -n 10 , comme illustré dans l'exemple suivant :

sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10

Le résultat ressemble à l'exemple suivant :

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

Linux
  1. Comment utiliser BusyBox sous Linux

  2. 5 raisons d'utiliser Linux en 2020

  3. Linux – Utilisation de O_direct sur Linux ?

  4. Comment installer et utiliser Glances pour surveiller les systèmes Linux

  5. Utiliser une bibliothèque C dans Swift sous Linux

Utiliser des emoji de style Mac sous Linux

Comment utiliser pkgsrc sous Linux

Comment utiliser htop pour surveiller les processus du système Linux

Surveiller les ressources système avec Bashtop et Bpytop sous Linux

Comment installer et utiliser la commande SAR (pour surveiller les performances du système) sous Linux

Exemples de commandes sar sous Linux