개요
리눅스에서는 다양한 성능 모니터링 도구를 통해 CPU, 메모리, 디스크, 네트워크 자원 상태를 확인하고, 문제 발생 시 빠르게 원일을 파악할 수 있습니다.
이번 글에서는 가장 자주 사용되는 다음의 도구들을 소개하겠습니다.
주요 성능 모니터링 도구
1. 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 저장 지원 |
마무리
운영 중인 리눅스 서버나 시스템의 상태를 파악하는 건 필수라고 생각합니다.
위의 도구들을 익숙하게 사용하면, 문제 발생 시 빠르게 대응할 수 있습니다.
'linux' 카테고리의 다른 글
| 리눅스 파일 시스템이란? 개념과 실습으로 이해하기 (2) | 2025.05.22 |
|---|---|
| logrotate로 로그 관리하기 & journalctl과의 차이점 (0) | 2025.05.21 |
| 리눅스 로그 관리 - /var/log와 주요 로그 파일 정리 (0) | 2025.05.21 |
| crontab 실습 - 자동화 예제로 익히기 (1) | 2025.05.20 |
| crontab으로 작업 자동화 하기 - 개념과 기본 문법 (0) | 2025.05.20 |


















