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을 마스터하여 리눅스 시스템의 성능을 완전히 파악하고 최적화하세요!