Maison  >  Article  >  Tutoriel système  >  Explication détaillée de la commande Linux sar et analyse du cas de performances du système

Explication détaillée de la commande Linux sar et analyse du cas de performances du système

WBOY
WBOYavant
2024-01-12 12:24:16835parcourir

La commande

sar est très puissante et constitue l'un des outils importants pour analyser les performances du système. Grâce à cette commande, vous pouvez obtenir de manière complète le processeur du système, la file d'attente d'exécution, la lecture et l'écriture du disque (E/S), la partition (zone d'échange) et la mémoire. , interruption du processeur et réseau et autres données de performances.

Le format de base de la commande

sar est le suivant :

[root@localhost ~]# sar [options] [-o filename] interval [count]

Dans ce format de commande, la signification de chaque paramètre est la suivante :

  • -o filename : où filename est le nom du fichier, cette option signifie stocker les résultats de la commande au format binaire dans le fichier
  • ;
  • interval : Indique l'intervalle d'échantillonnage, ce paramètre doit être réglé manuellement
  • ;
  • count : représente le nombre de temps d'échantillonnage, est un paramètre facultatif et sa valeur par défaut est 1 
  •  ;
  • options : ce sont des options de ligne de commande. Étant donné que la commande sar fournit de nombreuses options, nous ne les présenterons pas une par une ici. Nous listons uniquement quelques options couramment utilisées et les fonctions correspondantes, comme indiqué dans le tableau 1.

Tableau 1 : options et fonctions de la ligne de commande sar
options de commande sar Caractéristiques
-A Affiche l'état de fonctionnement de tous les périphériques de ressources (CPU, mémoire, disque) du système.
-u Affiche l'état de charge de tous les processeurs du système pendant la période d'échantillonnage.
-P Affiche l'utilisation du processeur spécifié dans le système actuel.
-d Affiche l'état d'utilisation de tous les périphériques de disque dur du système pendant la période d'échantillonnage.
-r Affiche l'utilisation de la mémoire système pendant la période d'échantillonnage.
-b Affiche l'utilisation du tampon pendant la période d'échantillonnage.
-v Affichez les statistiques sur les nœuds inodes, les fichiers et autres tables du noyau.
-n Afficher l'état de fonctionnement du réseau, cette option peut être suivie par DEV (afficher les informations sur l'interface réseau), EDEV (afficher les statistiques d'erreur du réseau), SOCK (afficher les informations sur la socket) et FULL (équivalent à l'utilisation de DEV, EDEV et SOCK), etc., pour plus d'options, vous pouvez le visualiser en exécutant la commande man sar.
-q Affichez le nombre de processus dans la liste en cours d'exécution, la taille du processus, la charge moyenne du système, etc.
-R Affiche l'activité du processus pendant l'échantillonnage.
-y Affichez l'activité du terminal pendant la période d'échantillonnage.
-w Affiche l'état de l'activité d'échange du système sur la période d'échantillonnage.

Pour plus d'options et de fonctions disponibles de la commande sar, vous pouvez la visualiser en exécutant la commande man sar.

【Exemple 1】
Si vous souhaitez vérifier l'état de charge du processeur système, qui est calculé toutes les 3 secondes et 5 fois, vous pouvez exécuter la commande suivante :

[root@localhost ~]# sar -u 3 5
Linux 2.6.32-431.el6.x86_64 (localhost) 10/25/2019 _x86_64_(1 CPU)

06:18:23 AM CPU %user %nice %system %iowait%steal %idle
06:18:26 AM all 12.110.002.773.110.00 82.01
06:18:29 AM all6.550.002.070.000.00 91.38
06:18:32 AM all6.600.002.080.000.00 91.32
06:18:35 AM all 10.210.001.760.000.00 88.03
06:18:38 AM all8.710.001.740.000.00 89.55
Average:all8.830.002.090.630.00 88.46

Dans cette sortie, la signification de chaque élément de la liste est la suivante :

  • %user : utilisé pour indiquer la proportion de temps CPU consommé en mode utilisateur
  • ;
  • %nice : La proportion du temps CPU consommé en mode utilisateur par les processus dont les priorités de planification des processus ont été modifiées via nice ;
  • %système : Proportion du temps CPU consommé en mode système ;
  • %iowait : la proportion de temps passé en état d'inactivité en raison de l'attente du processeur pour les E/S du disque
  •  ;
  • %steal : utilisez la technologie de virtualisation du système d'exploitation telle que Xen pour attendre la proportion de temps occupée par d'autres calculs de CPU virtuel ;
  • %idle : taux de temps d'inactivité du processeur.
  • 【Exemple 2】
  • Si vous souhaitez vérifier les performances de lecture et d'écriture du disque système, vous pouvez exécuter la commande suivante :
[root@localhost ~]# sar -d 3 5
Linux 2.6.32-431.el6.x86_64 (localhost) 10/25/2019 _x86_64_(1 CPU)

06:36:52 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util
06:36:55 AMdev8-03.380.00502.26148.440.08 24.114.561.54

06:36:55 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util
06:36:58 AMdev8-01.490.00 29.85 20.000.001.750.750.11

06:36:58 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util
06:37:01 AMdev8-0 68.266.9653982.61790.933.22 47.233.54 24.17

06:37:01 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util
06:37:04 AMdev8-0111.69 3961.29154.84 36.851.059.423.44 38.43

06:37:04 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util
06:37:07 AMdev8-01.67136.002.67 83.200.016.206.001.00

Average:DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util
Average: dev8-0 34.45781.10 9601.22301.360.78 22.743.50 12.07

Dans ce résultat de sortie, la signification de chaque en-tête de colonne est la suivante :

tps : nombre d'E/S du disque physique par seconde. Notez que plusieurs requêtes logiques seront fusionnées en une seule requête de disque d'E/S et que la taille d'un transfert est incertaine ;

rd_sec/s : Nombre de secteurs lus par seconde
  • wr_sec/s : Nombre de secteurs écrits par seconde
  • avgrq-sz : taille moyenne des données (secteurs) par opération d'E/S de périphérique
  •  ;
  • avgqu-sz : longueur moyenne de la file d'attente des demandes de disque
  •  ;
  • await : le temps de consommation moyen de chaque requête, depuis la demande d'opération du disque jusqu'au traitement d'achèvement du système, y compris le temps d'attente de la file d'attente des requêtes, l'unité est en millisecondes (1 seconde = 1 000 millisecondes) ;
  • svctm : Le temps moyen nécessaire au système pour traiter chaque requête, hors temps passé dans la file d'attente des requêtes
  • ;
  • %util : Les requêtes d'E/S comptent pour le pourcentage de CPU. Plus le ratio est grand, plus il est saturé.
  • De plus, si vous souhaitez vérifier l'utilisation de la mémoire système, vous pouvez exécuter la commande sar -r 5 3 ; si vous souhaitez vérifier l'état de fonctionnement du réseau, vous pouvez exécuter la commande sar -n DEV 5 3, etc. Concernant l'utilisation d'autres paramètres, des exemples spécifiques ne seront pas donnés ici. Les lecteurs intéressés peuvent le tester par eux-mêmes et observer les résultats en cours.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer