다른 출력을 표시하는 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

procps 3.2.8매우 오래된 라이브러리 버전인 Debian Squeeze가 실행 중입니다 . mpstat와 유사한 숫자가 표시되므로 top기본적으로 지난 몇 초의 숫자입니다. ps프로세스가 시작된 시점의 통계를 표시합니다.

숫자는 뭔가 넘치거나 감싸는 것을 가리키는 특이한 숫자입니다. 지금 이 순간 무슨 일이 일어나고 있는지 알아내고 싶다면 mpstat더 정확한 것 같습니다. top역시 그 숫자에 가까워야 하고, 그렇지 않다면 요약 영역이 무엇을 보여주고 있는지 궁금합니다.

추신. 프로세스가 전체 수명 동안 얼마나 "바빴는지" 확인하는 것이 더 좋습니다.

관련 정보