iostat란?

iostat는 시스템의 입출력 통계를 보기 위한 유틸리티 중 하나로, CPU 및 디스크 I/O 통계를 제공하는 명령어입니다. 이 도구는 리눅스 환경에서 사용되며, 시스템의 성능 모니터링 및 디스크 사용량 파악에 유용합니다.

iostat 명령어를 사용하면 CPU 사용률, 디스크의 읽기 및 쓰기 작업, 디스크 대기 시간 등과 같은 다양한 시스템 통계를 실시간으로 모니터링할 수 있습니다. 이를 통해 시스템의 성능 문제를 식별하고 최적화할 수 있습니다.

 

iostat 설치

#Red Hat 계열
[root@localhost ~]# yum install sysstat

#Debian 계열
[root@localhost ~]# apt-get install sysstat

 

iostat 사용방법

[root@localhost ~]# iostat [옵션] [인터벌] [횟수]

#예시 1초마다 CPU 정보를 3번 출력.
[root@localhost ~]# iostat -c 1 3

#예시 1초마다 DISK 정보를 3번 출력.
[root@localhost ~]# iostat -d 1 3

 

iostat 명령어 옵션

옵션 설명
-c CPU 사용량에 대한 통계 표시
-d 디스크 I/O 통계 표시
-h 출력을 보기 쉬운 형식으로 표시
-k 또는 -m 출력 단위를 킬로바이트(-k) 또는 메가바이트(-m)로 표시
-N 네트워크 통계 표시
-t 터미널 통계 표시
-V 프로그램 버전 정보 표시
-x 확장된 CPU 통계 표시
-y 프로세스 스위칭 통계 표시
-z 숨겨진 통계 표시
`-j { ID LABEL
[ -T ] -g <group_name> 그룹별로 통계 표시 (옵션 -T를 사용하면 각 그룹의 평균도 표시)
`-p [ <device> [,…] ALL ]`
`[ <device> […] ALL ]`

 

iostat 출려 정보 해석

iostat CPU 출력정보 해석

#아래는 iostat -c 명령어 실행에 대한 예시 출력입니다.
[root@localhost ~]# iostat -c
Linux 3.10.0-1160.el7.x86_64 (localhost) 12/18/2023 _x86_64_ (48 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
          0.07  0.00    0.32   2.66    0.00 96.95
출력 정보 설명
%user 사용자 레벨에서 CPU가 소비하는 시간의 백분율
%nice NICE 값이 조정된 프로세스가 사용한 CPU 시간의 백분율
%system 시스템 레벨에서 CPU가 소비하는 시간의 백분율
%iowait CPU가 입출력 연산을 처리하는 데 대기하는 시간의 백분율
%steal 하이퍼바이저에서 다른 가상 머신에 할당된 가상 CPU의 백분율
%idle CPU가 유휴 상태에 있는 시간의 백분율

 

iostat DISK 출력정보 해석

#아래는 iostat -dmx 명령어 실행에 대한 예시 출력입니다.
[root@localhost ~]# iostat -dmx
iostat disk

iostat disk 출력값

 

항목 설명
rrqm/s 초당 읽기 요청에 대한 병렬 복수의 요청 수
wrqm/s 초당 쓰기 요청에 대한 병렬 복수의 요청 수
r/s 초당 읽기 I/O 작업 수
w/s 초당 쓰기 I/O 작업 수
rMB/s 초당 읽은 데이터 양 (메가바이트 단위)
wMB/s 초당 쓴 데이터 양 (메가바이트 단위)
avgrq-sz 평균 요청 크기 (블록 단위)
avgqu-sz 평균 I/O 큐 길이
await 평균 I/O 대기 시간 (밀리초)
r_await 읽기 작업의 평균 대기 시간 (밀리초)
w_await 쓰기 작업의 평균 대기 시간 (밀리초)
svctm 평균 I/O 서비스 시간 (밀리초)
%util 디스크 사용률 (디스크가 사용 중인 백분율)