728x90
iostat
iostat
는 Input/Output Statistics의 약자로, 시스템의 CPU 및 I/O 장치 활동을 모니터링하고 보고하는 명령어이다. 주로 디스크의 성능을 분석하고, 시스템의 I/O 병목 문제를 진단하는 데 사용된다. iostat는 각 디스크 장치의 사용량, 전송 속도, 대기 시간 등의 정보를 제공하여 시스템 관리자나 개발자가 성능 문제를 파악하는 데 도움을 준다.
iostat
명령어를 사용하면 디스크 디바이스에 대한 입출력 정보를 확인할 수 있다.
$ iostat [옵션] [인터벌] [횟수]
iostat
옵션 뒤에는 인터벌과 횟수를 의미하는 숫자가 온다.
인터벌은 몇 모바다 디스크 디바이스의 정보를 출력할 것인지, 횟수는 몇 번 수집할 것인지를 의미한다.
$ iostat
Linux 5.4.0-42-generic (hostname) 11/16/2024 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
10.50 0.00 5.00 2.50 0.00 82.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 12.00 200.00 400.00 10000 20000
sdb 15.00 300.00 500.00 15000 25000
기본적으로 iostat
명령어를 실행하면 시스템의 CPU 사용량과 각 블록 장치의 I/O 통계를 출력한다. 여기서 각 필드는 다음과 같은 의미를 가진다.
avg-cpu
CPU의 평균 사용량을 보여준다.
%user
: 사용자 프로세스가 사용한 CPU 시간 비율%system
: 커널 프로세스가 사용한 CPU 시간 비율%iowait
: I/O 작업을 기다리는 동안의 CPU 시간 비율%idle
: CPU가 유휴 상태인 시간 비율
Device
각 블록 장치를 나타낸다.
tps
: 초당 전송 수(Transactions Per Second).Blk_read/s
: 초당 읽기 블록 수Blk_wrtn/s
: 초당 쓰기 블록 수Blk_read
: 총 읽기 블록 수Blk_wrtn
: 총 쓰기 블록 수
추가적인 정보가 필요하면, -x
옵션을 사용하여 더 자세한 통계를 확인할 수 있다.
$ iostat -x
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.50 1.00 2.00 10.00 50.00 100.00 12.50 0.25 25.00 10.00 20.00
sdb 0.00 2.00 3.00 12.00 80.00 200.00 14.00 0.30 25.00 9.00 25.00
CPU 통계만 출력하고 싶다면 -c
옵션을 사용할 수 있다.
$ iostat -c
avg-cpu: %user %nice %system %iowait %steal %idle
18.85 0.00 2.42 0.00 0.00 78.73
avg-cpu: %user %nice %system %iowait %steal %idle
35.56 0.00 6.00 0.00 0.00 58.44
avg-cpu: %user %nice %system %iowait %steal %idle
31.52 0.00 4.20 0.00 0.00 64.28
Disk 디바이스 정보만 출력하고 싶으면 -d
옵션을 사용하면 된다.
다음은 1초마다 디스크 정보를 총 3번 출력하라는 명령이다.
$ iostat -d 1 3
728x90