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