[LINUX] 리눅스에서 디스크 I/O 사용량(부하)를 많이 주는 프로그램 찾는방법
디스크 I/O 부하를 많이 주는 프로그램 확인
디스크 I/O 부하를 많이 주는 프로그램을 찾으려면 iotop이라는 도구를 사용 하면 되며 이 도구는 각 프로세스의 I/O 사용량을 실시간으로 모니터링하며, 높은 I/O 사용량을 가진 프로세스를 쉽게 찾을 수 있도록 도와준다.
io를 보는데는 iostat 도 있고. vmstat 1 명령으로 CPU 부하와 같이 쓰기나 읽기가 어느정도 인지 보는 방법도 있는데 iotop을 사용하면 프로그램 까지 알 수 있어 좋다.
단 기본적으로 설치가 안되어 있기 때문에 설치를 해줘야 한다.
Ubuntu 또는 Debian
CentOS, RHEL, Fedora, 아마존리눅스
이 명령어를 실행하면, 현재 시스템에서 가장 많은 I/O를 사용하는 프로세스 목록을 실시간으로 볼 수 있습니다.
이 때, 'IO>' 열이 각 프로세스의 디스크 I/O 사용량을 나타냅니다.
개인적으로 빠르게 갱신 되어 어떤프로그램이 문제 인지 확인하기 쉬우려면 아래 처럼 3초간겻으로 보여주는 기능이 좋다.
iotop의 옵션
-o 또는 --only
I/O 활동이 있는 프로세스만 표시됩니다.
-b 또는 --batch
텍스트 모드로 결과를 출력합니다. 이는 스크립트에서 iotop 결과를 파싱할 때 유용합니다.
-n NUM 또는 --iter=NUM
실행되는 횟수를 지정합니다. NUM에 지정한 숫자만큼 iotop이 실행된 후, 프로세스가 종료됩니다.
-d SEC 또는 --delay=SEC
각 iotop 실행 사이의 지연 시간을 초 단위로 설정합니다.
-p PID 또는 --pid=PID
이 옵션은 특정 프로세스 ID(PID)에 대한 I/O 사용량만 보여주게 합니다.
-u USER 또는 --user=USER
특정 사용자의 프로세스에 대한 I/O 사용량만 보여줍니다.
iotop 명령어는 자동으로 디스크 I/O 사용량이 많은 프로세스를 상위에 표시합니다.
이는 'IO>' 열에서 확인할 수 있고 현재 디스크 I/O 활동을 나타내며, 값이 큰 프로세스일수록 리스트의 상위에 위치한다.