Linux에서 DISK I/O 사용량 확인

Featured image

Linux에서 DISK I/O 사용량을 확인하기 위한 가장 기본 적인 방법은 iostat 명령이며 기본적으로 설치되는 도구이다.

만약 이 도구가 설치되어 있지 않다면 sysstat 패키지를 설치하여 사용할 수 있다.

sudo apt-get install sysstat

기본적으로 이 명령은 장치와 파티션에 대한 CPU 및 I/O 통계에 대한 두 개의 정보를 표시하지만 -c 및 –d 옵션을 사용하면 CPU 또는 Disk 정보만 표시하도록 할 수 있다. 위의 그림에서 보면 설치된 장치에 대해 초당 전송(tps), 초당 읽기 및 쓰기(KB), 읽기 및 쓰기의 (KB) 정보가 나타난다.

iostat 명령을 실행하면 명령이 실행된 순간의 데이터만 나타나지만 반복 시간을 설정하면 지정된 간격(초단위)로 계속 정보를 표시할 수 있다. 아래 명령은 4초 간격으로 Disk의 I/O 정보만 표시되록 한다.

iostat –d 4

placeholder

그림을 보면 4초 간격으로 Disk I/O 데이터를 나타내며 읽기/쓰기에 대한 정보는 이전 실행값과 비교한 델타 값이 표시된다. [Ctrl + C]를 누를때 까지 지정된 간격으로 데이터를 표시 한다.

iostat과 함께 –x 옵션을 사용하면 더 많은 정보를 보여준다. 가장 유용한 정보는 평균 대기열 길이 인 avgqu-sz 정보를 보여준다.

iostat –xd

placeholder

iotop 명령은 프로세스 또는 스레드당 I/O 사용량을 나타내며 htop 유틸리티와 비슷한 형식으로 표시 한다.

iotop

만약 해당 명령문이 실행되지 않으면 package 를 설치 한다.

sudo apt-get install iotop

placeholder

위 그림을 보면 DISK에 대한 스왑 및 프로세스의 총 I/O 정보를 표시한다. Iotop에 다양한 매개 변수를 사용하여 더 많은 정보를 볼 수 있다.

iotop 실행 상태에서 키보드 단축키를 사용하여 표시 방법를 변경할 수도 있다.

References

https://m.blog.naver.com/PostView.nhn?blogId=jevida&logNo=221024972067&proxyReferer=http:%2F%2Fwww.google.com%2F