> 패키지 및 시스템 관리 > iostat

iostat: CPU 및 디스크 I/O 통계 보고

iostat는 시스템의 CPU 사용률과 장치(디스크, 파티션)의 입출력 통계를 실시간 또는 지정된 간격으로 보고하는 명령어입니다. 시스템 성능 병목 현상을 진단하고 I/O 관련 문제를 해결하는 데 유용하게 사용됩니다.

개요

iostat는 CPU, 디스크, 네트워크 파일 시스템(NFS)의 통계를 제공하여 시스템의 전반적인 성능 상태를 파악하고 I/O 관련 문제를 진단하는 데 도움을 줍니다. 특히 디스크 I/O 부하가 높은 시스템에서 병목 현상을 식별하는 데 필수적인 도구입니다.

주요 기능

  • CPU 사용률 통계 (user, nice, system, idle, iowait 등)
  • 장치(디스크, 파티션)별 초당 읽기/쓰기 요청 및 데이터 전송량
  • 장치별 평균 서비스 시간, 큐 길이, I/O 대기 시간
  • 지정된 간격으로 통계 반복 출력
  • 다양한 출력 형식 및 단위 지원

주요 옵션

iostat 명령어는 다양한 옵션을 통해 출력되는 통계의 종류, 형식, 반복 주기 등을 세밀하게 제어할 수 있습니다.

통계 종류 선택

출력 형식 및 단위

생성된 명령어:

명령어를 조합해 보세요.

설명:

`iostat` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

iostat 명령어를 사용하여 시스템의 CPU 및 디스크 I/O 통계를 확인하는 다양한 예시입니다.

기본 CPU 및 디스크 I/O 통계

iostat

CPU 사용률과 모든 장치의 기본 I/O 통계를 한 번 출력합니다.

5초 간격으로 3회 반복

iostat 5 3

5초마다 CPU 및 디스크 I/O 통계를 총 3번 출력합니다.

CPU 통계만 보기

iostat -c

CPU 사용률 통계만 출력합니다.

확장 디스크 I/O 통계 보기

iostat -x

디스크 I/O 통계를 확장된 형식으로 출력하여 더 많은 상세 정보를 제공합니다.

특정 디스크의 확장 I/O 통계 보기

iostat -x sda

특정 디스크(예: sda)에 대한 확장 I/O 통계를 출력합니다.

사람 친화적 단위로 디스크 I/O 통계 보기

iostat -h

디스크 I/O 통계의 데이터 전송량을 K, M, G 등 사람이 읽기 쉬운 단위로 출력합니다.

시간 스탬프와 함께 2초 간격으로 디스크 통계 반복

iostat -d -t 2

각 보고서 앞에 시간 스탬프를 붙여 2초 간격으로 디스크 I/O 통계를 계속 출력합니다.

설치

iostat는 `sysstat` 패키지의 일부로 제공됩니다. 대부분의 리눅스 배포판에서 기본적으로 설치되어 있지 않을 수 있으므로, 필요 시 다음 명령어를 사용하여 설치할 수 있습니다.

Debian/Ubuntu

sudo apt update
sudo apt install sysstat

APT 패키지 관리자를 사용하여 설치합니다.

CentOS/RHEL/Fedora

sudo yum install sysstat
# 또는
sudo dnf install sysstat

YUM 또는 DNF 패키지 관리자를 사용하여 설치합니다.

Arch Linux

sudo pacman -S sysstat

Pacman 패키지 관리자를 사용하여 설치합니다.

팁 & 주의사항

iostat를 사용하여 시스템 성능을 분석할 때 유용한 팁과 주의해야 할 사항들입니다.

출력 해석 가이드

주요 지표에 대한 간략한 설명입니다.

  • **%user, %system, %iowait, %idle (CPU)**: CPU 사용률을 나타냅니다. %iowait이 높으면 디스크 I/O 병목 현상을 의심할 수 있습니다.
  • **r/s, w/s (Device)**: 초당 읽기/쓰기 요청 수입니다. 높을수록 디스크 활동이 많다는 의미입니다.
  • **rkB/s, wkB/s (Device)**: 초당 읽기/쓰기 데이터 양(KB)입니다. 실제 데이터 전송량을 나타냅니다.
  • **await (Device)**: I/O 요청이 큐에서 대기하고 디스크에서 처리되는 데 걸리는 평균 시간(밀리초)입니다. 이 값이 높으면 디스크 응답 시간이 느리다는 의미입니다.
  • **%util (Device)**: 장치 사용률입니다. 100%에 가까우면 해당 장치가 최대 용량으로 작동하고 있음을 나타내며, 병목 현상의 원인이 될 수 있습니다.

지속적인 모니터링

iostat는 특정 시점의 스냅샷을 제공하지만, `iostat interval count`와 같이 반복 옵션을 사용하여 장시간 모니터링하면 성능 추이를 파악하고 간헐적인 문제를 진단하는 데 더 효과적입니다.

다른 도구와 함께 사용

iostat는 디스크 I/O에 특화되어 있으므로, `top`, `vmstat`, `free` 등 다른 시스템 모니터링 도구와 함께 사용하여 CPU, 메모리, 네트워크 등 전반적인 시스템 상태를 종합적으로 분석하는 것이 좋습니다.


동일 카테고리 명령어