
Cuando mis top
shows tienen una carga de 19/20 y mis ps
shows
root@server:/home/nohup# ps -eo pcpu,pid,user,args | sort -k 1 -r | head -5
%CPU PID USER COMMAND
122131 18695 mysql /usr/sbin/mysqld xxxxx
0.1 961 root [kdmflush]
0.1 937 root [kdmflush]
0.1 1025 root [jbd2/dm-2-8]
pero mpstat
muestra
root@server:/home/nohup# mpstat
Linux 2.6.32-5-amd64 (sms-db3) 06/13/2014 _x86_64_ (16 CPU)
09:35:42 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
09:35:42 PM all 2.38 0.00 0.15 0.15 0.00 0.02 0.00 0.00 97.29
strace
muestra que mpstat
está leyendo /proc/stat
para recuperar la carga del procesador.
¿A cuál debería creer? ¿Qué está causando esta diferencia o lo estoy usando mal? Estoy usando Debian Squeeze 2.6.32-5-amd64
Respuesta1
Se está ejecutando Debian Squeeze, procps 3.2.8
que era una versión muy antigua de la biblioteca. mpstat
muestra números similares a top
, por lo que son básicamente los números de los últimos segundos. ps
muestra las estadísticas desde que comenzó el proceso.
Sin embargo, los números son inusuales y apuntan a que algo se está desbordando o envolviendo. Si quieres averiguar qué estaba sucediendo justo en este momento, entonces mpstat
parece más preciso. top
También debería estar cerca de esos números y, si no lo es, tendría curiosidad por ver qué muestra su área de resumen.
PD. Es mejor ver cuán "ocupado" estuvo el proceso a lo largo de su vida.