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
항목 | 설명 |
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 | 디스크 사용률 (디스크가 사용 중인 백분율) |