Commande Linux sar
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
- Analyse des données historiques: Permet de consulter l’état du système à tout moment dans le passé
- Surveillance complète: Couvre tous les indicateurs de performance clés du système
- Faible surcharge: La collecte de données a un impact minimal sur les performances du système
- 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
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
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
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
sar -d 1 10
4.4 Afficher les statistiques de l'interface réseau
Exemple
sar -n DEV 1 5
5. Utilisation avancée et astuces
5.1 Combiner plusieurs métriques pour la surveillance
Exemple
sar -urdb 1 5
5.2 Générer des rapports pour une période donnée
Exemple
sar -u -s 09:00:00 -e 10:00:00
5.3 Enregistrer la sortie dans un fichier
Exemple
sar -A 1 10 > system_report.log
5.4 Surveiller un cœur CPU spécifique
Exemple
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
Autres extensions