리눅스 io 사용량 부하 확인하기

리눅스 시스템에서는 input, output 사용량으로 인해서 부하가 생겨 시스템에 문제가 발생하는 경우가 종종 있습니다. 그럴 때 어떤 프로세스, 또는 서비스에서 io 부하가 발생하는지를 알아야 조치가 가능하기 때문에, io 사용량을 확인하는 방법에 대해서 알아보도록 하겠습니다.

 

리눅스 io 사용량 확인하기

io 부하 확인하기

리눅스에서 io 관리는 정말 중요합니다. 아무리 cpu, mem 성능이 좋더라도 io가 꽉차게 되면 더 이상 다른 것도 무의미 하게 만듭니다.

 

iotop

iotop은 프로세스의 io 통계를 확인할 수 있습니다.

iotop 설치

# rpm -qa iotop

명령어를 통해 iotop 명령어를 사용할 수 있는 패키지가 설치되어 있는지 확인해 줍니다. 설치되어 있지 않다면 yum이나 rpm 명령어를 통해서 설치해 주시면 됩니다.

 

[IT/리눅스(Linux)] - 리눅스 레포지토리(repository) 추가해서 yum 사용하는 방법

 

리눅스 레포지토리(repository) 추가해서 yum 사용하는 방법

yum 명령어가 사용이 불가한 이유는 여러가지가 있습니다. 네트워크가 안정적이지 못하거나 yum 서비스가 없거나 yum이 사용할 repository가 제대로 설정되어 있지 않거나 하는 이유들 입니다. 그 중

coconuts.tistory.com

 

iotop --version

버전 정보를 불러올 수 있습니다.

저는 iotop 0.6 버전이 설치되어 있네요

 

iotop

iotop 옵션 내용

-h 도움말

-o i/o가 발생중인 프로세스만 보여줌

-b 배치모드

-n num 반복횟수 지정

-p pid 특정 프로세스에 대한 정보 출력

-d sec 업데이트 주기 설정( 기본은 1초로 되어있음)

-u user 특정 유저 모니터링

-a 실행한 시점부터 누적되는 read와 write 량 측정

-P 스레드는 제외하고 프로세스만 보여줌

 

iostat

iostat은 시스템 장치의 CPU 사용률과 디스크 장치에 대한 io 통계 정보를 확인할 수 있습니다.

iostat 설치하기

iostat이 설치되어 있지 않다면 "sysstat" 패키지 안에 해당 명령어가 포함되어 있기 때문에 먼저 sysstat을 설치해 줍니다.

# yum -y install sysstat

 

iostat 명령어 설명

iostat 사용

rrqm/s : 디바이스 큐에 대기 중인 초당 읽기 요청 수

wrqm/s : 디바이스 큐에 대기 중인 초당 쓰기 요청 수

r/s : 디바이스에 요청한 초당 읽기 요청 수

w/s : 디바이스에 요청한 초당 쓰기 요청 수

rsec/s : 디바이스에서 초당 읽어들인 섹터 수

wsec/s : 디바이스에서 초당 기록한 섹터 수

avgrq-sz : 디바이스에 요청한 초당 평균 데이터 크기

avgqu-sz : 디바이스에 요청한 초당 평균 큐의 길이

await : 디바이스에서 처리되기 위해 요청된 I/O 평균 시간 (밀리초로 표현) (큐에서 소요된 시간과 처리된 시간이 합쳐진 값)

svctm : 디바이스에서 처리한 I/O 평균 시간 (밀리초로 표현)

%util : 디바이스에서 요청한 I/O 작업을 수행하기 위해 사용한 CPU 시간 비율, (디스크가 버틸수 있는 한계치를 의미, 100%에 가까워지면 질수록 한계치)

 

iostat 옵션 내용

-c cpu 사용량 정보

-d disk 사용량 장보

-k 블락 단위에서 킬로바이트로

-m 블락 단위에서 메가바이트로

-p 파티션 당 통계 포함

-t 타임스탬프 출력

-x 확장 정보

-z 활동 0인 애들 제외

댓글

Designed by JB FACTORY