iostat 명령어
개요
디스크 입출력 통계를 확인하고 싶다면 iostat 명령어가 유용한 도구다. 이 명령어는 디스크의 읽기/쓰기 통계, CPU 사용률, 대기열 길이 등 다양한 정보를 실시간으로 제공한다. 여러 시스템의 성능을 모니터링할 때 반드시 필수적인 툴로 손꼽힌다.
설명
iostat는 Input/Output Statistics의 약자로, 디스크 입출력에 대한 통계를 수집하고 보고하는 역할을 한다. 이 명령어는 CPU 사용률과 함께 각 디스크의 입출력 성능을 모니터링할 수 있게 도와준다. 특히, 프로세스의 성능 문제를 진단하거나 시스템의 부하를 분석할 때 유용하다.
iostat의 주요 출력 항목은 다음과 같다:
- %user : 사용자 프로세스에서 사용한 CPU 시간의 비율
- %system : 시스템 프로세스에서 사용한 CPU 시간의 비율
- %iowait : I/O 작업을 기다리는 시간의 비율
- tps : 초당 전송되는 트랜잭션 수
- kB_read/s : 초당 읽은 키로바이트 수
- kB_wrtn/s : 초당 쓴 키로바이트 수
- %util : 디스크의 사용률
이러한 데이터는 디스크의 상태를 이해하고, 성능 문제를 조기에 발견하는 데 도움을 줄 수 있다.
사용법
iostat를 사용하기 위해서는 터미널에서 간단한 명령어를 입력하면 된다. 기본적인 사용법은 아래와 같다:
iostat [옵션] [초기 딜레이] [횟수]
- 옵션 : 다양한 출력 형식을 설정할 수 있는 옵션으로, -c, -d, -x 등이 있다.
- 초기 딜레이 : 출력 주기를 설정하는 수치로 초 단위로 입력한다.
- 횟수 : 출력할 데이터의 개수를 설정한다.
예시
실제로 iostat 명령어를 사용했을 때의 예시를 들어보자. 아래는 iostat 명령어를 실행한 결과의 예다:
iostat -x 1 3
이 명령어는 매 1초마다 3번 디스크의 입출력 통계를 출력한다. 출력 결과는 다음과 같은 형식으로 나타난다:
Linux 5.15.0-83-generic (hostname) 03/03/2025 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2.50 0.00 1.00 0.50 0.00 96.00
Device r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 10.00 15.00 500.00 750.00 100.00 0.20 5.00 1.50 37.50
sdb 5.00 8.00 250.00 400.00 80.00 0.10 3.00 1.20 20.00
avg-cpu: %user %nice %system %iowait %steal %idle
3.00 0.00 1.50 0.30 0.00 95.20
Device r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 12.00 18.00 600.00 900.00 105.00 0.25 6.00 1.60 42.00
sdb 6.00 9.00 300.00 450.00 85.00 0.12 4.00 1.30 25.00
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 2.00 0.20 0.00 93.80
Device r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 14.00 20.00 700.00 1000.00 110.00 0.30 7.00 1.70 45.00
sdb 7.00 10.00 350.00 500.00 90.00 0.15 5.00 1.40 30.00
디스크 I/O 관련 통계
필드 | 설명 |
Device |
디스크 장치 이름 (sda, sdb 등)
|
r/s | 초당 읽기 요청 수 |
w/s | 초당 쓰기 요청 수 |
rkB/s |
초당 읽기된 데이터(KB)
|
wkB/s |
초당 쓰기된 데이터(KB)
|
avgrq-sz | 평균 요청 크기(KB) |
avgqu-sz |
요청 대기열 길이 (Queue Length)
|
await |
I/O 요청의 평균 대기 시간(ms)
|
svctm |
I/O 요청의 평균 서비스 시간(ms)
|
%util |
장치 사용률 (100%에 가까울수록 I/O 부하가 높음)
|
결론
iostat 명령어는 시스템 모니터링과 디스크 성능 분석에 매우 유용한 도구다. CPU와 디스크의 상태를 간편하게 확인할 수 있어, 시스템 관리자는 물론 개발자에게도 필수적인 툴이다.
이 명령어를 통해 디스크의 성능을 지속적으로 모니터링하면 시스템의 효율성과 안정성을 높이는 데 도움이 된다.
이제 본 포스팅을 통해 iostat의 사용 방법과 유용성을 이해했으리라 생각한다. 실무에서 자주 활용해 보면 좋겠다.
참고문헌
[1] 티스토리 - [Linux] iostat 명령어 사용법 - 디스크 사용량 모니터링
[3] 티스토리 - Linux iostat - Las 낙서장 - 티스토리
[4] Oracle Help Center - 디스크 사용률 정보 표시( iostat) - 시스템 관리 설명서