top/ps/mpstat 显示不同的输出

top/ps/mpstat 显示不同的输出

当我的top节目负载为 19/20 时,我的ps节目

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]

mpstat显示

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显示mpstat正在读取以/proc/stat获取处理器负载。

我应该相信哪一个?是什么导致了这种差异,或者我使用错误?我正在使用 Debian Squeeze 2.6.32-5-amd64

答案1

Debian Squeeze 正在运行,procps 3.2.8这是该库的一个非常旧的版本。mpstat显示类似于 的数字top,因此它基本上是最后几秒的数字。ps显示进程开始时的统计信息。

这些数字很不寻常,但这表明有东西溢出或包裹。如果你想弄清楚此时此刻发生了什么,那么mpstat似乎更准确。top也应该接近这些数字,如果不是,我很想看看它的摘要区域显示了什么。

附言。最好了解进程在其生命周期中的“繁忙”程度。

相关内容