vmstat의 IO 출력을 이해하는 방법은 무엇입니까?

vmstat의 IO 출력을 이해하는 방법은 무엇입니까?

vmstat우분투 리눅스에서 IO 통계를 얻는 데 사용합니다 . 다음은 명령에 대한 설명입니다.

IO
       bi: Blocks received from a block device (blocks/s).
       bo: Blocks sent to a block device (blocks/s).

이것이 무엇을 의미하는지 궁금합니다 block device. 로컬 디스크를 의미합니까? 디스크에 대용량 파일을 복사하려고 했지만 값이 변경되지 않았습니다.

답변1

예. 로컬 디스크는 블록 장치여야 하며 파일 복사본이 bi/ 에 나타나야 합니다 bo. 초당 킬로바이트 단위로 표시됩니다.

사용상의주의 사항. ~에 따르면man vmstat, 숫자의 첫 번째 줄은 vmstat"마지막으로 다시 시작한 이후의 평균을 제공합니다". 이것은오직vmstat옵션 없이 명령을 실행하면 이 줄이 표시됩니다. 후속 라인은 "샘플링 기간에 대한 정보"를 제공합니다.지연". 지연예, 선택적 매개변수입니다 vmstat.

또한 vmstat데이터가 디스크에 기록되는 시기도 기록해 두십시오. 상대적으로 적은 양의 데이터를 파일에 기록하고 프로그램이 해당 데이터를 디스크에 명시적으로 플러시하지 않으면 해당 데이터는 잠시 동안 캐시에 남아 디스크에 즉시 기록되지 않을 수 있습니다.

다음 예제는 디스크의 파일에 vmstat 1복사하는 동안 몇 초 동안 실행됩니다. /dev/zero나는 sync일부 디스크 쓰기가 있는지 확인하는 데 사용합니다.

$ mkdir test &&
   (cd test &&
    (sync ; vmstat 1 > vmstat.log & PID1=$! ; \
     cat </dev/zero >test & PID2=$! ; \
     sleep 3 ; kill $PID2 ; sync ; kill $PID1 ; \
     cat vmstat.log))

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 478976 2374288  76996 1023860    1    8    64   353   96  251 12  4 82  2  0
 0  2 478976 1782068  76996 1615824    0    0     0 202764 1405  786  0  9 56 34  0
 0  2 478976 1637036  76996 1760512    0    0     0 194572 1421 1013  0  2 59 39  0
 0  2 478976 1491580  76996 1906852    0    0     0 159760 1355  850  0  2 62 36  0
 0  1 478976 1491620  76996 1907068    0    0     0 129036  502  706  0  2 71 27  0
 1  1 478976 1491588  76996 1907068    0    0     0 157696  491  672  0  3 77 20  0
 0  3 478976 1491748  77004 1907064    0    0     0 19904  540 10719  0  2 73 25  0

관련 정보