Comando Linux mpstat
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
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
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
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
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 realmpstat: 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
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:
- Comprender los principios básicos y los escenarios de uso de mpstat
- Dominar las opciones de comando más comunes de mpstat
- Interpretar correctamente los resultados de salida de mpstat
- 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.