개요

리눅스에서는 다양한 성능 모니터링 도구를 통해 CPU, 메모리, 디스크, 네트워크 자원 상태를 확인하고, 문제 발생 시 빠르게 원일을 파악할 수 있습니다.

이번 글에서는 가장 자주 사용되는 다음의 도구들을 소개하겠습니다.

 

주요 성능 모니터링 도구

1. top - 실시간 프로세스 모니터링

top

top

● 실시간으로 CPU, 메모리, 프로세스 정보를 확인

● 기본으로 설치되어 있음

● 단축키 

P CPU 사용률 정렬
M 메모리 사용률 정렬
k 프로세스 종료
q 종료

 

 

2. htop - 상호작용이 가능한 top

sudo apt install htop -y
htop

● top 보다 보기 쉬운 UI

● 방향키로 프로세스 선택 가능

● 마우스 지원

● F키로 명령 실행 (F9: 종료 등)

시각적인 리소스 파악에 좋음

 

3. vmstat - 시스템 성능 요약 정보

vmstat 1

● 시스템의 메모리, 스왑, I/O, CPU 사용량을 요약해서 보여줌

● 예시 출력 항목: r, b, swpd, free, si, so, us, sy, id, wa

컬럼 의미
r Run queue의 수. 즉, 실행 대기 중인 프로세스
CPU에서 실행되길 기다리는 프로세스가 몇 개인지를 나타냅니다.
숫자가 많을수록 CPU가 바쁨을 의미
b Blocked 상태의 프로세스 수.
디스크 I/O나 네트워크 등의 자원 요청으로 대기 중인 프로세스 수입니다
swpd 스왑 공간에 사용 중인 메모리(KB 단위)
free 사용 가능한 메모리(KB 단위)
buff 버퍼에 사용 중인 메모리
cache 캐시에 사용 중인 메모리
si 스왑인: 디스크에서 메모리로 스왑된 양(KB/sec)
so 스왑아웃: 메모리에서 디스크로 스왑된 양(KB/sec)
bi 블록 입력 (디스크 읽기)
bo 블록 출력 (디스크 쓰기)
in 인터럽트 수 (초당)
cs 컨텍스트 수의치 수 (초당)
us 사용자 영역에서 CPU 사용 비율 (%)
sy 시스템 영역에서 CPU 사용 비율 (%)
id 유휴(idle) 상태 CPU 비율 (%)
wa I/O 대기 시간 비율 (%)
st 가상화 환경에서 다른 가상 머신에 의해 도난당한 CPU 시간 비율

 

정리

● r이 많다면 CPU 병목 현상 가능성 있음

● b가 많다면 디스크 I/O나 네트워크 지연 가능성 있음

 

4. iostat - 디스크 I/O 상태 확인

sudo apt install sysstat
iostat -x 1

● 디스크 장치의 읽기/쓰기 속도, 큐 길이 등 확인

● -x 옵션으로 상세 정보 제공

디스크 병목 원인을 찾을 때 유용

 

5. free - 메모리 상태 확인

free -h

● 시스템 메모리와 스왑 상태를 요약

● -h: 사람이 읽기 쉬운 형식 (MB, GB)

 

6. sar - 시스템 활동 기록 분석

sudo apt install sysstat
sar -u 1 5

● 과거 데이터를 저장하고 불러올 수 있음

● CPU, 메모리, 네트워크, I/O 등 폭넓게 지원

● -u: CPU 사용률, -r: 메모리, -n DEV: 네트워크

장시간 서버 부하 분석 시 필수 도구

 

7. nom - 통합 성능 분석 도구

sudo apt install nmon
nmon

 

● CPU, Memory, Disk, Network, NFS, TCP 등 실시간 모니터링

● 키보드 단축키 기반 UI

● CSV 로그로 저장 가능 (nmon -f)

모든 시스템 성능을 한눈에 볼 수 있는 올인원 도구

 

정리

도구 목적 특징
top 전체 시스템 자원 실시간 모니터링 기본 설치, 단순하고 강력
htop 시각적 프로세스 관리 마우스 지원, 사용자 친화적
vmstat 시스템 요약 메모리, CPU, I/O 등 요약 정보
iostat 디스크 성능 디스크 병목 분석
free 메모리 현황 메모리 사용량 빠르게 확인
sar 기록 기반 성능 분석 로그 저장 가능, 장기 모니터링
nmon  종합 성능 도구 그래픽 기반, CSV 저장 지원

 

마무리

운영 중인 리눅스 서버나 시스템의 상태를 파악하는 건 필수라고 생각합니다. 

위의 도구들을 익숙하게 사용하면, 문제 발생 시 빠르게 대응할 수 있습니다.

+ Recent posts