mpstat

  • english
  • spanish

Al monitorizar un sistema, una de las variables más básicas a observar es el consumo de CPU, algo que típicamente haremos con top de forma interactiva o con vmstat si queremos automatizar el proceso.

El problema viene al tratar con un sistema con más de una CPU (física o virtual), ya que en este caso vmstat mostrará la media de todas las CPUs. Dependiendo de la arquitectura hardware y/o software nos podemos encontrar con cuellos de botella o bloqueos en el momento que una de las CPUs esté al 100% aunque la otra esté completamente libre, caso en el que vmstat indicaría un 50% idle. Es una situación típica en equipos con una única CPU física pero con HyperThreading.

Una alternativa a vmstat en estos casos es mpstat, del paquete sysstat, que muestra el consumo por CPU de forma independiente. Imprescindible p.ej. a la hora de escribir un script para hacer gráficas con Cacti o lanzar alertas con Nagios.

# mpstat -P ALL
Linux 2.6.9-023stab046.2-enterprise (domain.com) 	25/09/08
20:39:02     CPU   %user   %nice %system %iowait    %irq   %soft   %idle    intr/s
20:39:02     all    0,79    0,00    0,17    5,74    0,00    0,00   93,30      0,00
20:39:02       0    0,87    0,01    0,19    6,85    0,00    0,00   92,09      0,00
20:39:02       1    0,87    0,00    0,18    5,94    0,00    0,00   93,00      0,00
20:39:02       2    0,74    0,00    0,16    5,14    0,00    0,00   93,96      0,00
20:39:02       3    0,68    0,00    0,16    5,02    0,00    0,00   94,15      0,00