"sar"와 "iostat" 명령의 차이점

"sar"와 "iostat" 명령의 차이점

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개뿐이므로 시작 시간을 다른 시점으로 처리합니다. 이것이 시작 시간 이후의 평균을 구하는 이유입니다.

관련 정보