상세 컨텐츠

본문 제목

[Linux] /proc/diskstats

Linux

by 힐둔 2021. 8. 3. 12:06

본문

 

 

cat /proc/diskstats을 통해 DISK IO를 확인할 수 있습니다. 각각의 의미를 보도록 하겠습니다.

 

kernel 버전 5.4.0.59에서 확인

 

만약 sda만 보기를 원한다면 grep을 붙여주면 됩니다. 

cat /proc/diskstats | grep sda

아래 처럼 cat /sys/block/sda/stat 을 이용할 수도 있습니다. 

/proc/diskstats에서 sda 이후와 값이 동일 합니다.

 

iostat과 비교해보기 위해서 iostat -x도 출력해봤습니다.

연관성은 좀 더 공부를 해야겠습니다. 단순 일치하는 것은 없는 것 같습니다.


/proc/diskstats의 각각의 Field 값은 아래와 같습니다.

커널 5.4에서 확인했으니 총 18개의 값이 출력 됩니다만, 아래와 같이 5.5 에서는 두개 더 추가 되어 총 20개입니다.

 

14 fields: == ===================================

1 major number

2 minor mumber

3 device name

4 reads completed successfully

5 reads merged

6 sectors read

7 time spent reading (ms)

8 writes completed

9 writes merged

10 sectors written

11 time spent writing (ms)

12 I/Os currently in progress

13 time spent doing I/Os (ms)

14 weighted time spent doing I/Os (ms)

 

== ===================================

Kernel 4.18+ appends four more fields for discard tracking putting the total at 18:

== ===================================

15 discards completed successfully

16 discards merged

17 sectors discarded

18 time spent discarding

 

== ===================================

Kernel 5.5+ appends two more fields for flush requests:

== =====================================

19 flush requests completed successfully

20 time spent flushing


아래는 위 테이블에서 1 major number, 2 minor mumber, 3 device name 을 제외한 필드에 대한 설명입니다.

필드 순번은 원래의 페이지 그대로 입니다. ( 모든 시간 단위는 milliseconds )

 

필드 1 -- 완료된 읽기 수, 성공적으로 완료된 총 읽기 수
필드 2 -- 병합된 읽기 수, 필드 9 -- 병합된 쓰기 수
필드 3 -- 읽은 섹터 수, 성공적으로 읽은 총 섹터 수
필드 4 -- 읽는 데 걸린 시간, 모든 읽기에 소요된 총 시간
필드 5 -- 완료된 쓰기 수, 성공적으로 완료된 총 쓰기 수
필드 6 -- 병합된 쓰기 수, 필드 2에 대한 설명을 참조하십시오.
필드 7 -- 작성된 섹터 수, 성공적으로 작성된 총 섹터 수
필드 8 -- 쓰기에 소요된 시간, 모든 쓰기에 소요된 총 시간
필드 9 -- 현재 진행 중인 I/O 수 I/O가 끝나면 0으로 변경.
필드 10 -- I/O를 수행하는 데 걸린 시간, 필드 9가 0이 아닌 한 증가합니다.
필드 11 -- I/O를 수행하는 데 소요된 시간 (누적), I/O 시작, I/O 완료, I/O마다 증가합니다. 
필드 12 -- 완료된 폐기 횟수, 성공적으로 완료된 총 폐기 수 ( Kernel 4.18+ )
필드 13 -- 병합된 폐기 수, 필드 2에 대한 설명 참조 ( Kernel 4.18+ )
필드 14 -- 폐기된 섹터 수,  공적으로 폐기된 총 섹터 수 ( Kernel 4.18+ )
필드 15 -- 폐기에 소요된 시간, 모든 폐기에 소요된 총 시간 ( Kernel 4.18+ )
필드 16 -- 완료된 플러시 요청 수, 성공적으로 완료된 총 플러시 요청 수 ( Kernel 5.5+ )
필드 17 -- 플러싱에 소요된 시간, 모든 플러시 요청에 소요된 총 시간 ( Kernel 5.5+ )

 

iostat은 아래를 보세요.

2021.07.30 - [Linux] - [Linux] 디스크 입출력 모니터링을 위한 iostat

 

출처 : 

https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats

https://www.kernel.org/doc/Documentation/admin-guide/iostats.rst

관련글 더보기

댓글 영역