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
awk, gsub을 이용해서 vmstat의 값을 csv 형태로 저장 (0) | 2021.08.09 |
---|---|
[Linux] top 태스크 모니터링 (0) | 2021.08.09 |
[Linux] PS - 프로세스 모니터링 (0) | 2021.07.30 |
[Linux] vmstat - 메모리 모니터링 (0) | 2021.07.30 |
[Linux] 디스크 입출력 모니터링을 위한 iostat (0) | 2021.07.30 |
댓글 영역