iostat 명령어는 입출력 통계(IO Statistics)를 제공하는 리눅스 도구입니다. 주로 시스템 성능을 분석하거나 디스크 I/O와 CPU 사용량을 모니터링하는 데 사용됩니다. iostat 명령어를 통해 디스크 활동 상태와 CPU 성능을 실시간으로 분석할 수 있으며, 이를 통해 시스템 병목 현상이나 성능 저하 문제를 파악하는 데 유용합니다.
iostat는 sysstat 패키지에 포함된 도구로, 기본적으로 설치되어 있지 않다면 패키지를 설치한 후 사용할 수 있습니다. iostat는 특히 서버 관리나 시스템 성능 분석에 매우 유용한 명령어로, 디스크 및 CPU 사용 현황을 명확하게 보여주기 때문에 서버 최적화와 같은 작업에 필수적입니다.
iostat 명령어 설치
대부분의 리눅스 배포판에서 iostat는 기본적으로 설치되어 있지 않으므로, 설치가 필요할 수 있습니다.
Debian/Ubuntu 계열에서는 다음과 같이 설치할 수 있습니다.
sudo apt install sysstat
RHEL/CentOS 계열에서는 다음 명령어를 사용합니다.
sudo yum install sysstat
설치가 완료되면 iostat 명령어를 사용할 수 있습니다.
iostat 명령어의 기본 사용법
가장 기본적인 형태의 iostat 명령어는 아래와 같이 입력하면 됩니다.
user@linux:~$ iostat
Linux 5.4.0-74-generic (ubuntu) 10/16/2024 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.02 0.00 0.57 0.03 0.00 98.38
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.13 12.57 24.33 1234567 2345678
avg-cpu 섹션에서는 CPU 사용률을, Device 섹션에서는 각 디스크의 I/O 활동을 나타냅니다. 주요 항목은 다음과 같습니다.
- %user: 사용자 프로세스가 CPU를 사용한 시간 비율
- %system: 커널 프로세스가 CPU를 사용한 시간 비율
- %iowait: CPU가 I/O 작업을 기다리는 데 소비한 시간 비율
- tps: 초당 전송 횟수 (입출력 작업)
- kB_read/s: 초당 읽은 데이터 양 (킬로바이트)
- kB_wrtn/s: 초당 기록된 데이터 양 (킬로바이트)
CPU 사용량만 확인하기
iostat 명령어에 -c 옵션을 사용하면 CPU 사용량에 대한 정보만 확인할 수 있습니다.
user@linux:~$ iostat -c
Linux 5.4.0-74-generic (ubuntu) 10/16/2024 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.15 0.00 0.65 0.05 0.00 98.15
이 결과는 각 CPU 사용률을 간단하게 확인할 수 있게 도와줍니다.
디스크 I/O만 확인하기
디스크 관련 정보만 보고 싶다면 -d 옵션을 사용할 수 있습니다.
user@linux:~$ iostat -d
Linux 5.4.0-74-generic (ubuntu) 10/16/2024 _x86_64_ (4 CPU)
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.13 12.57 24.33 1234567 2345678
이 명령어는 디스크의 I/O 상태를 집중적으로 보여줍니다.
반복해서 I/O 상태 모니터링
iostat 명령어는 주기적으로 I/O 상태를 모니터링할 수 있습니다. 예를 들어, 2초 간격으로 5번의 I/O 상태를 모니터링하려면 다음과 같이 입력합니다.
user@linux:~$ iostat 2 5
Linux 5.4.0-74-generic (ubuntu) 10/16/2024 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.05 0.00 0.60 0.04 0.00 98.31
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.05 13.15 22.88 5678901 6789012
avg-cpu: %user %nice %system %iowait %steal %idle
1.10 0.00 0.62 0.03 0.00 98.25
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.10 13.10 23.05 5678910 6789023
위 명령은 2초마다 시스템의 CPU와 디스크 I/O 상태를 5번 출력합니다.
특정 디스크의 I/O 상태 확인
특정 디스크의 I/O 상태를 확인하려면 디스크 이름을 명시해줍니다.
user@linux:~$ iostat -d sda
Linux 5.4.0-74-generic (ubuntu) 10/16/2024 _x86_64_ (4 CPU)
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.13 12.57 24.33 1234567 2345678
이 결과는 sda 디스크의 I/O 활동을 보여줍니다.
iostat 명령어 필드 설명
- tps: 초당 I/O 전송 횟수 (Transaction per second)
- kB_read/s: 초당 읽은 데이터 양 (킬로바이트)
- kB_wrtn/s: 초당 기록된 데이터 양 (킬로바이트)
- kB_read: 읽은 총 데이터 양 (킬로바이트)
- kB_wrtn: 기록한 총 데이터 양 (킬로바이트)
참고사이트
'Linux' 카테고리의 다른 글
[리눅스] netcat 명령어 완벽 가이드 사용법(네트워크 디버깅) (0) | 2024.10.19 |
---|---|
[리눅스] strace 명령어 완벽 가이드 사용법(프로세스 추적) (0) | 2024.10.19 |
[리눅스] nohup 명령어 완벽 가이드 사용법(백그라운드 실행) (1) | 2024.10.19 |
[리눅스] nice, renice 명령어 완벽 가이드 사용법(프로세스 우선순위 변경) (0) | 2024.10.18 |
[리눅스] lsof 명령어 완벽 가이드 사용법(네트워크 연결 상태 확인) (0) | 2024.10.18 |
[리눅스] umask 명령어 완벽 가이드 사용법(파일/디렉토리 기본권한 설정) (0) | 2024.10.18 |
[리눅스] sudo -s 명령어 완벽 가이드 사용법(root 쉘로 전환) (1) | 2024.10.16 |
[리눅스] sudo !! 명령어 완벽 가이드 사용법 (0) | 2024.10.16 |