
서버 리소스 모니터링 명령어 정리 (iostat · mpstat · top · htop)
리눅스 서버에서 CPU, 메모리, 디스크 I/O, 장비별 성능 상태를 분석하려면 가장 기본적이면서도 강력한 도구가 바로 iostat, mpstat, top, htop이다. 여기서는 각 명령어의 핵심 기능과 실시간 모니터링 옵션까지 정리한다.
1️⃣ iostat — 디스크 I/O & CPU 사용률 분석
iostat는 디스크의 읽기/쓰기 처리량, 대기시간, 사용률, CPU 상태 등을 분석하는 명령어로 I/O 병목 분석에 필수다.
📌 주요 옵션 설명
- -x: 확장(extented) 출력 — 디스크별 상세 수치 확인
- -m: MB 단위 출력
- -d: 디스크 통계만 출력
- 숫자(초): 실시간 반복 간격
📌 자주 쓰는 실시간 모니터링 예시
iostat -xm 3
→ 디스크별 상세 I/O 통계를 MB 단위로 3초마다 출력
iostat -x 1 10
→ 1초 간격으로 10번 출력
iostat -d -m 5
→ 디스크 통계를 MB 단위로 5초 주기 출력
📌 체크 포인트
- %util이 80~100%면 디스크 병목 가능성 높음
- await가 20ms 이상이면 I/O 대기 발생
- rMB/s / wMB/s 값으로 읽기·쓰기 트래픽 확인
2️⃣ mpstat — CPU 사용률 및 Core 분석
mpstat는 전체 CPU 또는 코어별 사용률을 상세하게 분석하는 도구이며, 멀티코어 환경에서 병목 코어를 찾는 데 매우 유용하다.
📌 주요 옵션
- -P ALL: 모든 CPU 코어 사용률 출력
- 숫자(초): 실시간 반복 간격
📌 실시간 모니터링 예시
mpstat -P ALL 2
→ 모든 CPU 코어 상태를 2초 간격으로 출력
mpstat 1 5
→ 1초 간격, 총 5번 출력
📌 체크 포인트
- sys%가 높으면 커널/시스템 병목 가능
- iowait%가 높으면 디스크 병목 가능
- 특정 코어만 높은 사용률을 보이면 CPU 부하 분산 문제
3️⃣ top — 전체 리소스 실시간 모니터링
top은 CPU·메모리·프로세스의 전체 사용률을 실시간으로 확인하는 가장 기본 명령어이다.
📌 유용한 단축키
- P: CPU 사용률 기준 정렬
- M: 메모리 사용률 기준 정렬
- 1: 코어별 CPU 사용률 표시
- k: 특정 PID 종료
- h: 도움말 표시
📌 예시
top
문제 상황에서는 load average, %CPU, %MEM, wa(Wait), running processes 등을 주로 확인한다.
4️⃣ htop — top의 확장형 실시간 터미널 UI
htop은 top보다 훨씬 직관적인 인터페이스를 제공하며 CPU·메모리·스왑·프로세스 상태를 컬러로 시각화하여 보여준다.
📌 기능 특징
- 마우스로 프로세스 선택/종료 가능
- 코어별 사용률 그래프 표시
- tree 보기로 프로세스 구조 확인 가능
- F6으로 다양한 정렬 기준 선택
📌 실행 예시
htop
설치되어 있지 않다면 다음으로 설치:
yum install htop -y # RHEL/CentOS/Rocky
apt install htop -y # Ubuntu/Debian
5️⃣ 실시간 전체 모니터링 자동화 예시
아래처럼 세 가지 명령어를 동시에 실행해 서버 병목을 빠르게 확인할 수 있다.
iostat -xm 3 &
mpstat -P ALL 3 &
top
또는 tmux or screen에 나누어 배치할 수도 있다.
6️⃣ 실전 점검 시나리오
- CPU 100% → mpstat로 특정 코어 확인 → top으로 해당 프로세스 식별
- I/O 지연 → iostat await·%util 확인 → 디스크 병목 여부 판단
- 메모리 부족 → top/htop에서 swap 사용량 및 %MEM 확인
- 전체 부하 증가 → load average 비교 및 running task 확인
위 명령어만 잘 활용해도 대부분의 서버 성능 문제는 빠르게 원인을 좁힐 수 있다.
'지식 공유 > Server' 카테고리의 다른 글
| LACP Bonding(802.3ad) (3) | 2025.11.21 |
|---|---|
| 서버 Hang 상태 분석 — hung_task_timeout_secs (0) | 2025.11.21 |
| Bonding 설정 가이드 (active-backup · 802.3ad · Bond Mode 비교) (0) | 2025.11.17 |
| 네트워크 리트랜스미션(Network Retransmission) 원인 (0) | 2025.11.17 |
| 리눅스 리소스 모니터링 명령어 정리 (top, htop, gotop) (1) | 2025.11.16 |
