sar
와 에 의해 iowait
우리는 CPU 시간 활용도를 얻을 수 있습니다. 그러나 이 두 명령을 실행하면 출력에서 상당한 차이를 볼 수 있습니다.
> iostat && sar 1 1
Linux 2.6.32-042stab090.4 (LinuxBox) 08/14/2014 _x86_64_ (16 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.46 0.00 0.52 0.07 0.00 98.95
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 10.53 760.66 44.67 3464410204 203460004
sdb 2.49 368.15 779.18 1676748162 3548769968
sdc 4.09 192.81 10.71 878170395 48792907
Linux 2.6.32-042stab090.4 (LinuxBox) 08/14/2014 _x86_64_ (16 CPU)
10:35:21 AM CPU %user %nice %system %iowait %steal %idle
10:35:22 AM all 0.00 0.00 0.06 0.00 0.00 99.94
Average: all 0.00 0.00 0.06 0.00 0.00 99.94
어떤 출력이 더 안정적인지 결정하는 데 어려움을 겪고 있습니다. 어떤 명령이 더 정확한 것으로 간주되어야 합니까?
답변1
iostat를 실행 중이지만 간격이 제공되지 않습니다. 따라서 시작 이후 통계를 보고합니다.
그리고 sar의 경우 1 간격을 언급하셨습니다. 이는 sar 보고서에서는 마지막 1초가 보고된다는 의미입니다.
둘 다 이러한 모든 값이 카운터로 저장되는 보고서를 얻는 데 사용됩니다 /proc/
(때때로 증가됨). 매뉴얼 페이지(맨 페이지 끝으로 스크롤)에서 이러한 보고서에 사용되는 파일 시스템에 대한 자세한 내용을 읽을 수 있습니다. 내 요점을 이해하지 못한다면 카운터에 대해서도 읽어보십시오.
그런 다음 임의의 두 시점에서 값을 가져와 해당 두 시점의 값 간의 차이를 계산하여 보고서를 얻습니다. 따라서 간격을 지정하지 않으면 시점(즉, 명령을 실행하는 시간)이 1개뿐이므로 시작 시간을 다른 시점으로 처리합니다. 이것이 시작 시간 이후의 평균을 구하는 이유입니다.