top/ps/mpstat zeigt unterschiedliche Ausgaben

top/ps/mpstat zeigt unterschiedliche Ausgaben

Wenn meine topShows eine Last von 19/20 und meine psShows

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]

Aber mpstatzeigt

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

stracezeigt an, dass mpstatgelesen wird, /proc/statum die Prozessorlast abzurufen.

Welchem ​​soll ich glauben? Was verursacht diesen Unterschied oder verwende ich es falsch? Ich verwende Debian Squeeze 2.6.32-5-amd64

Antwort1

Es wird Debian Squeeze ausgeführt, procps 3.2.8eine sehr alte Version der Bibliothek. mpstatZeigt Zahlen ähnlich wie an top, es handelt sich also im Wesentlichen um die Zahlen der letzten paar Sekunden. psZeigt die Statistiken vom Start des Prozesses an.

Die Zahlen sind jedoch ungewöhnlich, was auf etwas Überlaufen oder Umwickeln hindeutet. Wenn Sie herausfinden möchten, was genau in dieser Sekunde passiert ist, dann mpstatscheint es genauer zu sein. topsollte auch in der Nähe dieser Zahlen liegen, und wenn nicht, wäre ich neugierig, was der Übersichtsbereich anzeigte.

PS: Es ist besser zu sehen, wie „beschäftigt“ der Prozess im Laufe seiner Lebensdauer war.

verwandte Informationen