Commande Linux sar

Linux 命令大全Encyclopédie des commandes Linux


1. Qu'est-ce que la commande sar ?

sar (System Activity Reporter) est un puissant outil de surveillance des performances sur les systèmes Linux et fait partie du paquet sysstat. Il peut collecter, rapporter et enregistrer diverses informations d'activité du système, notamment :

  • Utilisation du CPU
  • Utilisation de la mémoire
  • Activité d'E/S
  • Statistiques réseau
  • Activité des processus
  • Charge des périphériques, etc.

1.1 Avantages de la commande sar

  1. Analyse des données historiques: Permet de consulter l’état du système à tout moment dans le passé
  2. Surveillance complète: Couvre tous les indicateurs de performance clés du système
  3. Faible surcharge: La collecte de données a un impact minimal sur les performances du système
  4. Automatisation: Peut être configuré pour collecter automatiquement des données périodiquement

2. Installation et configuration de base

2.1 Installation du paquet sysstat

Sur la plupart des distributions Linux, la commande sar peut être obtenue en installant le paquet sysstat :

# Ubuntu/Debian
sudo apt-get install sysstat

# CentOS/RHEL
sudo yum install sysstat

# Fedora
sudo dnf install sysstat

2.2 Activation de la collecte de données

Après l’installation, le service de collecte de données doit être activé :

Exemple

# Modifier le fichier de configuration
sudo vi /etc/default/sysstat

# Remplacer ENABLED="false" par
ENABLED="true"

# Redémarrer le service
sudo systemctl restart sysstat

Par défaut, sar collecte les données toutes les 10 minutes et les enregistre dans/var/log/sysstat/le répertoire.


3. Syntaxe de base et paramètres courants

3.1 Format de syntaxe de base

sar [选项] [间隔时间] [次数]

3.2 Explication des paramètres courants

Paramètre Description
-A Afficher tous les rapports
-u Afficher l'utilisation du CPU
-r Afficher l'utilisation de la mémoire
-b Afficher les statistiques d'E/S et de taux de transfert
-n DEV Afficher les statistiques des périphériques réseau
-q Afficher la charge système et la longueur de la file d'attente
-d Afficher l'activité du disque
-P ALL Afficher les statistiques pour chaque CPU
-s Spécifier l'heure de début
-e Spécifier l'heure de fin
-f Lire les données à partir du fichier spécifié

4. Exemples d'application pratiques

4.1 Surveillance en temps réel de l'utilisation du CPU

Exemple

# Rafraîchir toutes les 2 secondes, afficher 5 fois au total
sar -u 2 5

Exemple de sortie :

Linux 5.4.0-91-generic (hostname)  03/15/2023  _x86_64_  (4 CPU)

10:30:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:30:03 AM     all      5.12      0.00      1.02      0.51      0.00     93.35
10:30:05 AM     all      6.23      0.00      1.34      0.23      0.00     92.20

4.2 Afficher l'utilisation historique de la mémoire

Exemple

# Afficher l'utilisation de la mémoire d'aujourd'hui
sar -r

# Afficher les données pour une date spécifiée (le fichier doit être spécifié)
sar -r -f /var/log/sysstat/sa15  # Données pour le 15

4.3 Surveiller l'activité d'E/S disque

Exemple

# Surveiller l'activité du disque, actualiser toutes les 1 seconde, 10 fois au total
sar -d 1 10

4.4 Afficher les statistiques de l'interface réseau

Exemple

# Surveiller l'activité de l'interface réseau
sar -n DEV 1 5

5. Utilisation avancée et astuces

5.1 Combiner plusieurs métriques pour la surveillance

Exemple

# Surveiller simultanément le CPU, la mémoire et le disque
sar -urdb 1 5

5.2 Générer des rapports pour une période donnée

Exemple

# Afficher l'utilisation du CPU de 9 h à 10 h
sar -u -s 09:00:00 -e 10:00:00

5.3 Enregistrer la sortie dans un fichier

Exemple

# Enregistrer les résultats de surveillance dans un fichier
sar -A 1 10 > system_report.log

5.4 Surveiller un cœur CPU spécifique

Exemple

# Surveiller l'utilisation du CPU0
sar -P 0 1 5

6. Guide d'interprétation des données

6.1 Interprétation des métriques CPU

Métrique Signification Plage normale
%user Utilisation CPU en espace utilisateur <70%
%system Utilisation CPU en espace noyau <30%
%iowait Temps d'attente d'E/S du CPU <5%
%idle Temps d'inactivité du CPU >20%

6.2 Interprétation des métriques de mémoire

Métrique Signification
kbmemfree Mémoire physique libre (KB)
kbmemused Mémoire physique utilisée (KB)
%memused Taux d'utilisation de la mémoire
kbbuffers Mémoire utilisée par les tampons (KB)
kbcached Mémoire utilisée par le cache (KB)

6.3 Interprétation des métriques de disque

Métrique Signification
tps Transferts par seconde
rd_sec/s Secteurs lus par seconde
wr_sec/s Secteurs écrits par seconde
%util Utilisation du périphérique

7. Dépannage courant

7.1 Identification des goulots d'étranglement du CPU

Si%userou%systemreste constamment au-dessus de 80%, cela peut indiquer :

  • Applications gourmandes en calculs
  • Appels système excessifs
  • Besoin d'optimiser le code ou d'ajouter des ressources CPU

7.2 Détermination d'une insuffisance de mémoire

Lorsque les conditions suivantes se produisent simultanément, il peut y avoir une insuffisance de mémoire :

  • %memusedConstamment au-dessus de 90%
  • kbcachedLa valeur est très faible
  • Partition d'échange (kbswpused) l'utilisation est élevée

7.3 Identification des goulots d'étranglement d'E/S

%iowaitÉlevé et disque%utilÉlevé indique :

  • Les E/S disque deviennent un goulot d'étranglement
  • Peut nécessiter des périphériques de stockage plus rapides
  • Ou optimiser les opérations intensives en E/S

Linux 命令大全Encyclopédie des commandes Linux

Autres extensions