Comando Linux mpstat

Linux 命令大全Colección completa de comandos Linux


1. Resumen del comando mpstat

mpstat (Multi-Processor Statistics) es una herramienta de monitoreo de rendimiento en el sistema Linux, que forma parte del paquete de herramientas sysstat. Se utiliza principalmente para monitorear el uso de la CPU y puede mostrar estadísticas detalladas de cada núcleo de CPU.

1.1 Funciones principales

  • Muestra estadísticas detalladas del uso de CPU
  • Monitorea el rendimiento de un solo núcleo de CPU o de todos los núcleos
  • Proporciona el porcentaje de tiempo de CPU en estados como modo de usuario, modo kernel e inactivo
  • Admite funciones de muestreo por intervalos y muestreo múltiple

1.2 Escenarios de aplicación

  • Ajuste del rendimiento del sistema
  • Análisis de cuellos de botella de CPU
  • Verificación del equilibrio de carga de CPU multinúcleo
  • Monitoreo del sistema y resolución de problemas

2. Instalación y uso básico

2.1 Método de instalación

La mayoría de las distribuciones de Linux se pueden instalar mediante el gestor de paquetes:

# Ubuntu/Debian
sudo apt install sysstat

# CentOS/RHEL
sudo yum install sysstat

# Arch Linux
sudo pacman -S sysstat

2.2 Formato básico del comando

mpstat [选项] [间隔时间] [采样次数]

Ejemplo sencillo

Ejemplo

# Muestra las estadísticas actuales de todos los núcleos de CPU
mpstat

# Muestreo cada 2 segundos, 5 muestras en total
mpstat 2 5

3. Explicación detallada de las opciones del comando

Opción Descripción
-P {ALL|número de CPU} Especifica el núcleo de CPU a mostrar (ALL indica todos los núcleos)
-u Muestra el uso de CPU (opción predeterminada)
-I {SUM|CPU|SCPU|ALL} Muestra estadísticas de interrupciones
-V Muestra información de versión
-o JSON Muestra los resultados en formato JSON

3.1 Combinaciones de opciones comunes

Ejemplo

# Monitorea todos los núcleos de CPU, se actualiza cada 1 segundo
mpstat -P ALL 1

# Monitorea solo el primer núcleo de CPU (CPU0)
mpstat -P 0 1 5

4. Interpretación de los resultados de salida

Ejecutandompstat -P ALL 1la salida típica es:

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 Significado de cada campo

Campo Descripción
%usr Porcentaje de tiempo de ejecución de programas en modo usuario
%nice Porcentaje de tiempo de ejecución de programas en modo usuario con prioridad baja
%sys Porcentaje de tiempo de ejecución de programas en modo kernel
%iowait Porcentaje de tiempo de CPU esperando operaciones de E/S
%irq Porcentaje de tiempo dedicado a manejar interrupciones de hardware
%soft Porcentaje de tiempo dedicado a manejar interrupciones de software
%steal Porcentaje de tiempo que la CPU virtual espera a la CPU real
%guest Porcentaje de tiempo ejecutando procesadores virtuales
%gnice Porcentaje de tiempo ejecutando invitados de baja prioridad
%idle Porcentaje de tiempo de CPU inactiva

5. Casos de aplicación práctica

5.1 Monitoreo del uso de CPU

Ejemplo

# Monitorea todos los núcleos de CPU, se actualiza cada 2 segundos, muestra 5 veces
mpstat -P ALL 2 5

5.2 Identificar cuellos de botella de CPU

Puntos clave a tener en cuenta:

  • %usr demasiado alto: los programas en modo usuario consumen mucha CPU
  • %sys demasiado alto: llamadas al sistema frecuentes
  • %iowait demasiado alto: posible cuello de botella de E/S

5.3 Generar informes de rendimiento

Ejemplo

# Redirige la salida a un archivo
mpstat -P ALL 1 60 > cpu_stats.log

6. Preguntas frecuentes

6.1 ¿Cuál es la diferencia entre mpstat y el comando top?

  • top: Muestra dinámicamente el estado general del sistema en tiempo real
  • mpstat: Se centra en estadísticas de CPU, proporciona datos más detallados de cada núcleo

6.2 ¿Qué significa un %idle muy bajo?

Indica que la CPU está muy ocupada; se debe evaluar junto con otros indicadores:

  • Si %usr es alto: las aplicaciones consumen mucha CPU
  • Si %sys es alto: hay demasiadas llamadas al sistema
  • Si %iowait es alto: E/S se convierte en un cuello de botella

6.3 ¿Cómo monitorear un núcleo de CPU específico?

Ejemplo

# Monitorea solo el núcleo de CPU 2
mpstat -P 2 1

7. Resumen

mpstat es una herramienta importante para el monitoreo del rendimiento en sistemas Linux, especialmente adecuada para analizar el uso de CPU multinúcleo. Después de estudiar este artículo, deberías poder:

  1. Comprender los principios básicos y los escenarios de uso de mpstat
  2. Dominar las opciones de comando más comunes de mpstat
  3. Interpretar correctamente los resultados de salida de mpstat
  4. Aplicar mpstat en el trabajo real para realizar análisis de rendimiento

Se recomienda usar junto con otras herramientas comovmstat、iostatpara poder analizar los problemas de rendimiento del sistema de manera más completa.

Linux 命令大全Colección completa de comandos Linux

Otras extensiones