본문 바로가기
Linux/운영

[Linux] '/proc/diskstats' 파일

by A6K 2023. 5. 23.

리눅스는 시스템의 다양한 정보를 /proc 디렉토리 하위에 있는 파일을 통해 제공한다. 이번 포스트에서는 /proc/diskstats 파일에 대해 알아보자.

/proc/diskstats 파일

/proc/diskstats 파일은 시스템에 있는 블록 디바이스들의 입출력 통계 정보를 출력해준다. cat 명령을 통해 /proc/diskstats 파일의 내용을 조회해보면 블록 디바이스 이름과 다양한 숫자들이 화면에 출력된다.

[root@6f9963e1a7aa /]# cat /proc/diskstats
 252       0 vda 13523 61 847172 2801 1330009 31047 225631031 1399426 0 870390 1523579 4707 0 386812040 173 64168 121177
 252       1 vda1 26 0 208 1 0 0 0 0 0 40 1 0 0 0 0 0 0
 252       2 vda2 59 0 4416 4 0 0 0 0 0 50 4 0 0 0 0 0 0
 252       3 vda3 158 61 10922 11 5 0 16 0 0 100 11 0 0 0 0 0 0
 252       4 vda4 13183 0 827906 2775 1330004 31047 225631015 1399425 0 870350 1402374 4707 0 386812040 173 0 0

특정 디바이스에 대한 diskstats 정보를 확인하려면 파이프라인으로 뒤에 "grep 디바이스이름"을 붙여주면 된다.

따로 헤더 정보가 출력되지 않아 각 필드들이 어떤 정보를 의미하는지 파악하는게 다소 어렵긴하다. /proc/diskstats 파일의 필드별 의미는 다음과 같다.

필드 순서 의미
1 major number
2 minor number
3 디바이스 이름
4 성공한 읽기 요청 횟수
5 병합된 읽기 횟수
6 성공적으로 읽은 섹터 수
7 읽기 작업에 소요된 시간 (ms)
8 성공한 쓰기 요청 수
9 병합된 쓰기 횟수
10 성공적으로 쓰여진 섹터 수
11 쓰기 작업에 소요된 시간(ms)
12 현재 진행중인 입출력 작업
13 입출력에 소요된 시간 (ms)
14 입출력에 소요된 가중치가 적용된 시간 (ms)
15 성공적으로 완료된 폐기 수
16 병합된 폐기 수
17 폐기된 섹터 수
18 폐기에 소요된 시간 
19 성공적으로 종료된 Flush 요청 수
20 Flush 하는데 소요된 시간

뒤쪽 필드들은 커널 버전이 올라가면서 추가된 정보다. 커널 버전이 오래된 경우 표시되지 않을 수도 있다.

/proc/diskstats 파일의 내용을 주기적으로 수집해 집계해두면 장비의 입출력 상황을 모니터링 할 수 있고, 장비에 입출력 관련 이상상황이 있을 때 빠르게 문제를 파악할 수 있다.

댓글