
Quando meus top
shows carregam 19/20 e meus 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]
Mas mpstat
mostra
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
mostra que mpstat
está lendo /proc/stat
para buscar a carga do processador.
Em qual devo acreditar? O que está causando essa diferença ou estou usando errado? Estou usando o Debian Squeeze 2.6.32-5-amd64
Responder1
O Debian Squeeze está rodando procps 3.2.8
, uma versão muito antiga da biblioteca. mpstat
mostra números semelhantes a top
, então são basicamente os números dos últimos segundos. ps
mostra as estatísticas de quando o processo foi iniciado.
Os números são incomuns, o que aponta para algo transbordando ou embrulhando. Se você quiser descobrir o que estava acontecendo neste momento, mpstat
parece mais preciso. top
também deveria estar próximo desses números e, se não estiver, ficaria curioso para ver o que sua área de resumo estava mostrando.
PS. É melhor ver o quão “ocupado” o processo esteve durante sua vida útil.