Commande Linux mpstat

Linux 命令大全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

# Afficher les statistiques actuelles pour tous les cœurs CPU
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

# Surveiller tous les cœurs CPU, actualiser toutes les 1 seconde
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

# Surveiller tous les cœurs du CPU, actualiser toutes les 2 secondes, afficher 5 fois au total
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

# Rediriger la sortie vers un fichier
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éel
  • mpstat: 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

# Surveiller uniquement le cœur 2 du CPU
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 :

  1. Comprendre les principes de base et les scénarios d'utilisation de mpstat
  2. Maîtriser les options de commande courantes de mpstat
  3. Interpréter correctement les résultats de sortie de mpstat
  4. 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.

Linux 命令大全Référence complète des commandes Linux

Autres extensions