Commande Linux mpstat
Référence complète des commandes Linux
1. Aperçu de la commande mpstat
mpstat (Multi-Processor Statistics) est un outil de surveillance des performances dans les systèmes Linux, faisant partie de la boîte à outils sysstat. Il est principalement utilisé pour surveiller l'utilisation du CPU et peut afficher des statistiques détaillées pour chaque cœur de CPU.
1.1 Fonctions principales
- Afficher des statistiques détaillées sur l'utilisation du CPU
- Surveiller les performances d'un seul cœur de CPU ou de tous les cœurs
- Fournir la proportion du temps CPU en mode utilisateur, mode noyau, inactif et dans d'autres états
- Prise en charge de l'échantillonnage par intervalle et des fonctions d'échantillonnage multiple
1.2 Scénarios d'application
- Optimisation des performances du système
- Analyse des goulets d'étranglement du CPU
- Vérifications de l'équilibrage de charge du CPU multicœur
- Surveillance et dépannage du système
2. Installation et utilisation de base
2.1 Méthodes d'installation
La plupart des distributions Linux peuvent l'installer via le gestionnaire de paquets :
# Ubuntu/Debian sudo apt install sysstat # CentOS/RHEL sudo yum install sysstat # Arch Linux sudo pacman -S sysstat
2.2 Format de base de la commande
mpstat [选项] [间隔时间] [采样次数]
Exemple simple
Exemple
mpstat
# Échantillonner toutes les 2 secondes, pour un total de 5 échantillons
mpstat 2 5
3. Explication des options de commande
| Option | Description |
|---|---|
| -P {ALL|numéro de CPU} | Spécifiez les cœurs CPU à afficher (ALL signifie tous les cœurs) |
| -u | Afficher l'utilisation du CPU (option par défaut) |
| -I {SUM|CPU|SCPU|ALL} | Afficher les statistiques d'interruptions |
| -V | Afficher les informations de version |
| -o JSON | Afficher les résultats au format JSON |
3.1 Combinaisons d'options courantes
Exemple
mpstat -P ALL 1
# Surveiller uniquement le premier cœur CPU (CPU0)
mpstat -P 0 1 5
4. Analyse des résultats de sortie
Executempstat -P ALL 1la sortie typique de :
Linux 5.4.0-91-generic (hostname) 03/15/2023 _x86_64_ (4 CPU) 10:30:45 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10:30:46 AM all 5.25 0.00 1.25 0.25 0.00 0.25 0.00 0.00 0.00 93.00 10:30:46 AM 0 6.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 93.00 10:30:46 AM 1 4.00 0.00 1.00 1.00 0.00 1.00 0.00 0.00 0.00 93.00 10:30:46 AM 2 6.00 0.00 2.00 0.00 0.00 0.00 0.00 0.00 0.00 92.00 10:30:46 AM 3 5.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 94.00
4.1 Signification de chaque champ
| Champ | Description |
|---|---|
| %usr | Pourcentage de temps passé à exécuter des programmes en mode utilisateur |
| %nice | Pourcentage de temps passé à exécuter des programmes en mode utilisateur de faible priorité |
| %sys | Pourcentage de temps passé à exécuter des programmes en mode noyau |
| %iowait | Pourcentage de temps pendant lequel le CPU attend des opérations d'E/S |
| %irq | Pourcentage de temps passé à gérer les interruptions matérielles |
| %soft | Pourcentage de temps passé à gérer les interruptions logicielles |
| %steal | Pourcentage de temps pendant lequel un CPU virtuel attend le CPU réel |
| %guest | Pourcentage du temps passé à exécuter des processeurs virtuels |
| %gnice | Pourcentage du temps passé à exécuter des invités de faible priorité |
| %idle | Pourcentage du temps d'inactivité du CPU |
5. Cas d'application pratiques
5.1 Surveillance de l'utilisation du CPU
Exemple
mpstat -P ALL 2 5
5.2 Identification des goulots d'étranglement du CPU
Principaux domaines d'intérêt :
- %usr trop élevé : les programmes en mode utilisateur consomment une grande quantité de CPU
- %sys trop élevé : appels système fréquents
- %iowait trop élevé : Il peut y avoir un goulot d'étranglement d'E/S
5.3 Génération de rapports de performance
Exemple
mpstat -P ALL 1 60 > cpu_stats.log
6. Foire aux questions
6.1 Quelle est la différence entre les commandes mpstat et top ?
top: Affiche l'état global du système en temps réelmpstat: Se concentre sur les statistiques CPU, en fournissant des données plus détaillées par cœur
6.2 Qu'indique un %idle très bas ?
Cela indique que le CPU est très occupé ; vous devez combiner d'autres métriques pour juger :
- Si %usr est élevé : Les applications consomment beaucoup de CPU
- Si %sys est élevé : Trop d'appels système
- Si %iowait est élevé : les E/S deviennent le goulot d'étranglement
6.3 Comment surveiller un cœur de CPU spécifique ?
Exemple
mpstat -P 2 1
7. Résumé
mpstat est un outil important pour la surveillance des performances dans les systèmes Linux, particulièrement adapté à l'analyse de l'utilisation des processeurs multicœurs. Après avoir étudié cet article, vous devriez être capable de :
- Comprendre les principes de base et les scénarios d'utilisation de mpstat
- Maîtriser les options de commande courantes de mpstat
- Interpréter correctement les résultats de sortie de mpstat
- Appliquer mpstat à l'analyse des performances dans le travail réel
Il est recommandé de le combiner avec d'autres outils tels quevmstat、iostatpour obtenir une analyse plus complète des problèmes de performance du système.