htop으로 리눅스 시스템 리소스 모니터링하기
htop으로 리눅스 시스템 리소스 모니터링하기
🎯 Summary
htop은 리눅스 시스템의 CPU, 메모리, 프로세스 상태를 실시간으로 모니터링하는 강력한 도구입니다. 기본 top
명령어보다 직관적이고 상세한 정보를 제공합니다.
즉시 사용 가능한 명령어
# htop 실행 (가장 기본적인 사용법)
htop
# 특정 사용자의 프로세스만 보기
htop -u username
# 특정 PID 하이라이트하여 실행
htop -p 1234,5678
# 트리 뷰로 프로세스 계층 구조 보기
htop -t
빠른 설치 방법
# Ubuntu/Debian
sudo apt update && sudo apt install htop
# CentOS/RHEL/Rocky Linux
sudo yum install epel-release -y && sudo yum install htop -y
# Fedora
sudo dnf install htop
# Arch Linux
sudo pacman -S htop
핵심 단축키 (htop 실행 중)
F9
또는k
: 프로세스 종료F6
또는>
: 정렬 기준 변경F4
또는\
: 프로세스 필터링Space
: 프로세스 태그/언태그t
: 트리 뷰 토글
📚 상세 설명
배경 및 필요성
리눅스 시스템을 관리하다 보면 시스템 리소스 사용량을 실시간으로 확인해야 하는 상황이 자주 발생합니다. 전통적인 top
명령어도 유용하지만, htop은 다음과 같은 장점을 제공합니다:
- 컬러풀한 인터페이스: 정보를 시각적으로 구분하기 쉬움
- 마우스 지원: 클릭으로 프로세스 선택/조작 가능
- 수평 스크롤: 긴 명령어도 완전히 볼 수 있음
- 트리 뷰: 프로세스 간 부모-자식 관계 파악 용이
설치 방법 상세 가이드
Ubuntu/Debian 계열
# 패키지 목록 업데이트
sudo apt update
# htop 설치
sudo apt install htop
# 설치 확인
htop --version
CentOS/RHEL/Rocky Linux 계열
# EPEL 저장소 활성화 (htop이 EPEL에 포함됨)
sudo yum install epel-release -y
# 시스템 업데이트
sudo yum update -y
# htop 설치
sudo yum install htop -y
Fedora
# htop 설치
sudo dnf install htop
htop 인터페이스 해석
htop을 실행하면 다음과 같은 정보를 확인할 수 있습니다:
상단 시스템 정보 패널
CPU Usage: [|||||||||||||||| 45.2%]
Memory: [||||||||||||||||||||| 67.8%/7.7G]
Swap: [ 0K/2.0G]
- CPU 바: 각 CPU 코어별 사용률 (컬러로 구분)
- Memory 바: 물리 메모리 사용량
- Swap 바: 스왑 메모리 사용량
프로세스 목록 컬럼 의미
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1234 apache 20 0 180M 45M 12M S 5.2 0.6 1:23.45 httpd
- PID: 프로세스 ID
- USER: 프로세스 소유자
- PRI/NI: 우선순위/Nice 값
- VIRT: 가상 메모리 사용량
- RES: 실제 메모리 사용량
- SHR: 공유 메모리
- S: 프로세스 상태 (S: Sleeping, R: Running 등)
실제 활용 사례
1. 메모리 누수 탐지
# 메모리 사용량으로 정렬하여 실행
htop
# htop 내에서 F6 키를 눌러 PERCENT_MEM으로 정렬
# 메모리 사용량이 높은 프로세스부터 표시됨
2. CPU 집약적 프로세스 찾기
# htop 실행 후 기본적으로 CPU 사용률로 정렬됨
# F6으로 PERCENT_CPU 정렬 확인
htop
3. 특정 사용자의 프로세스만 모니터링
# 웹서버 사용자(apache/nginx)의 프로세스만 확인
htop -u apache
# 또는 htop 실행 후 F4키를 눌러 필터링
4. 시스템 부하 원인 분석
# 트리 뷰로 프로세스 계층 구조 확인
htop -t
# 부모 프로세스와 자식 프로세스 관계 파악
# 어떤 서비스가 많은 자식 프로세스를 생성하는지 확인 가능
유용한 고급 사용법
설정 파일 커스터마이징
htop 설정은 ~/.config/htop/htoprc
파일에 저장됩니다:
# 설정 파일 위치 확인
ls -la ~/.config/htop/
# 설정 백업
cp ~/.config/htop/htoprc ~/.config/htop/htoprc.backup
배치 모드로 로그 수집
# 5초마다 한 번씩 시스템 상태를 파일로 저장
htop -d 50 > system_monitor.log 2>&1 &
# 또는 watch 명령어와 조합
watch -n 5 'htop -b -n 1 | head -20'
문제 해결 및 에러 처리
htop 설치 실패 시
# Ubuntu에서 패키지를 찾을 수 없는 경우
sudo apt update
sudo apt upgrade
sudo apt install htop
# CentOS에서 EPEL 저장소 문제 시
sudo yum clean all
sudo yum install epel-release -y
sudo yum makecache
sudo yum install htop
권한 관련 이슈
# 모든 프로세스를 보려면 root 권한 필요
sudo htop
# 일반 사용자로는 자신의 프로세스만 조작 가능
결론
htop은 리눅스 시스템 관리자와 개발자에게 필수적인 도구입니다. 기본 top 명령어보다 훨씬 직관적이고 강력한 기능을 제공하여 시스템 리소스 모니터링과 성능 분석을 효율적으로 수행할 수 있습니다.
핵심 인사이트:
- htop은 Windows 작업 관리자와 유사한 직관적 인터페이스 제공
- 실시간 모니터링을 통한 성능 병목 지점 빠른 식별 가능
- 마우스와 키보드 단축키를 활용한 효율적인 프로세스 관리
다음 단계:
iotop
으로 디스크 I/O 모니터링 학습nethogs
로 네트워크 사용량 분석- 시스템 모니터링 스크립트 작성 및 자동화
htop을 마스터하여 리눅스 시스템의 성능을 완전히 파악하고 최적화하세요!