htop은 기존 top 명령어의 대안으로 널리 쓰이는 대화형 프로세스 모니터입니다. 서버 환경에서 CPU, 메모리, 프로세스 상태를 실시간으로 확인하고 즉각적으로 제어할 수 있는 필수 유틸리티입니다.
Ⅰ. htop 이란?
리눅스 및 유닉스 시스템에서 실행 중인 프로세스와 자원을 실시간으로 확인하고 관리하는 대화형 프로세스 뷰어(Interactive Process Viewer)입니다.기본 top 명령어보다 화면 구성이 직관적이며, 키보드뿐만 아니라 마우스 조작까지 지원하여 사용성이 뛰어납니다. 쉽게 말해 서버에서 "어떤 프로세스가 CPU/메모리를 과점유하는지", "문제를 일으키는 프로세스가 무엇인지"를 한눈에 파악하고 조치할 수 있는 종합 상황판 역할을 합니다.
Ⅱ. htop 주요 특징
ⅰ. 단순한 목록 출력을 넘어, 화면 내에서 필터링, 검색, 종료 등의 제어가 바로 가능한 것이 가장 큰 장점입니다.
ⅱ. 직관적인 시각화: 색상을 활용해 CPU, 메모리, 스왑(Swap) 사용량을 게이지 형태로 알기 쉽게 표시합니다.
ⅲ. 유연한 탐색: 프로세스 목록을 상하좌우로 자유롭게 스크롤할 수 있습니다.
ⅳ. 마우스 지원: 터미널 환경임에도 마우스 클릭을 통한 조작이 가능합니다.
ⅴ. 트리(Tree) 뷰: 프로세스 간의 부모-자식 관계를 계층 구조로 보여줍니다.
ⅵ. 다중 선택: 여러 프로세스를 동시에 선택하여 일괄 작업을 수행할 수 있습니다.
Ⅲ. htop 동작 방식
커널이 제공하는 시스템 정보를 시각화하고 제어하는 인터랙티브 도구입니다.
ⅰ. 데이터 수집: 시스템의 /proc 디렉터리를 주기적으로 읽어 프로세스 및 자원 정보를 수집합니다.
ⅱ. 데이터 계산: 수집한 정보를 바탕으로 CPU, 메모리, 스왑, 로드 에버리지(Load Average) 등을 연산합니다.
ⅲ. 정렬 및 출력: 계산된 데이터를 우선순위나 CPU 사용량 등의 기준으로 정렬하여 화면에 그래픽 형태로 렌더링합니다.
ⅳ. 인터랙티브 제어: 사용자의 키보드/마우스 입력을 실시간으로 받아 검색, 필터링, 우선순위 변경, 프로세스 종료(Kill) 등의 명령을 즉각 수행합니다.
Ⅳ. htop 화면 구성 및 동작 흐름도
htop의 화면은 크게 세 영역으로 나뉩니다.
1) htop 화면 구성
ⅰ. Header (상단): CPU, 메모리, 스왑 사용량, 로드 에버리지, 업타임(Uptime) 등 시스템 전반의 요약 정보를 표시합니다.
ⅱ. Process List (중앙): 실행 중인 프로세스를 PID, 사용자(USER), CPU/MEM 점유율, 명령어(Command) 기준으로 나열합니다.
ⅲ. Footer (하단): F1~F10 키에 할당된 주요 기능(Help, Search, Tree, Kill, Quit 등)을 안내합니다.
2) 데이터 처리 흐름도
| 1) /proc 정보 수집 ⬇ 2) CPU / 메모리 / 프로세스 데이터 계산 ⬇ 3) htop 터미널 화면에 실시간 시각화 ⬇ 4) 사용자 입력 (F3, F4, F5, F9 등) ⬇ 5) 검색 / 필터 / 트리 보기 / 종료 / 우선순위 변경 등 즉각 수행 |
Ⅴ. htop 설치 방법
대부분의 리눅스 배포판 기본 저장소에서 손쉽게 설치할 수 있습니다.
(※ 일부 환경에서는 EPEL 등 추가 저장소 활성화가 필요할 수 있습니다.)
ⅰ. Debian / Ubuntu
| [root@feccle] # sudo apt update [root@feccle] # sudo apt install htop |
ⅱ. RHEL / CentOS / Rocky / AlmaLinux
| [root@feccle] # dnf install htop |
ⅲ. Arch Linux
| [root@feccle] # sudo pacman -S htop |
설치 완료 후, 터미널에 htop을 입력하여 실행합니다.
Ⅵ. htop 기본 조작 및 실무 활용
1) 기본 단축키
ⅰ. 방향키: 항목 이동 및 스크롤
ⅱ. Enter: 프로세스 선택 및 상세 확인
ⅲ. F3 또는 /: 프로세스 검색
ⅳ. F4: 필터링 (특정 단어가 포함된 프로세스만 표시)
ⅴ. F5 또는 t: 트리(Tree) 뷰 토글
ⅵ. F6 또는 < >: 정렬 기준 변경 (CPU, MEM 등)
ⅶ. F9 또는 k: 선택한 프로세스에 종료(Kill) 신호 보내기
ⅷ. F10 또는 q: htop 종료
2) 실무에서 자주 하는 작업
ⅰ. CPU나 메모리를 과도하게 점유하는 원인 프로세스 식별
ⅱ. 특정 사용자(User)가 실행한 프로세스만 필터링하여 모니터링
ⅲ. 장애 발생 시 트리 뷰(F5)를 통해 부모-자식 프로세스 관계 추적
ⅳ. 응답 없는(좀비) 프로세스를 찾아 즉각 종료(F9)
Ⅶ. htop 자주 쓰는 실행 옵션 (명령어)
기본 실행(htop)만으로도 훌륭하지만, 옵션을 조합하면 원하는 환경에 맞게 바로 진입할 수 있습니다.
| 명령어 | 설명 |
| htop | 기본 실행 |
| htop -d 10 | 화면 갱신 주기 설정 (0.1초 단위, 예: 1초 = 10) |
| htop -u [사용자명] | 특정 사용자의 프로세스만 표시 |
| htop -p [PID,PID] | 지정한 PID의 프로세스만 표시 |
| htop -t | 시작 시 트리(Tree) 뷰 모드로 바로 실행 |
| htop -s PERCENT_CPU | CPU 사용량을 기준으로 정렬하여 실행 |
| htop --no-color | 흑백(단색) 모드로 실행 |
| htop --readonly | 수정/종료 기능이 비활성화된 보기 전용 모드로 실행 |
실행 예시
| htop -u nginx # nginx 유저의 프로세스만 확인 htop -p 1234,2345 # PID가 1234, 2345인 프로세스만 확인 htop -t # 처음부터 트리 구조로 확인 htop -d 50 # 갱신 주기를 5초(50)로 설정 |
Ⅷ. htop 실무 활용 방안
htop은 서버 운영자와 개발자에게 거의 필수적인 도구입니다. 다음과 같은 상황에서 특히 빛을 발합니다.
ⅰ. 서버 응답이 느려졌을 때 즉각적인 병목 원인(CPU/Memory) 파악
ⅱ. 웹 서버, 데이터베이스, 배치 작업 등의 부하 상태 실시간 점검
ⅲ. 메모리 누수(Memory Leak)나 비정상적인 자원 점유율 폭증 모니터링
ⅳ. 시스템 장애 발생 시 프로세스의 계층 구조 파악 및 안전한 강제 종료 조치
'시스템(Linux)' 카테고리의 다른 글
| 리눅스 커널의 한계를 넘을 수 있는 eBPF(extended Berkeley Packet Filter) 에 대해 알아보겠습니다. (0) | 2026.04.07 |
|---|---|
| /run/user/1000 알람에 대해 알아보겠습니다. (1) | 2026.03.11 |
| Linux kill vs pkill 정리 (0) | 2026.03.10 |
| Fail2ban 완전 정복(브루트 포스 공격, Brute Force Attack) 자동 차단 도구 (0) | 2026.03.09 |
| ripgrep(rg) 에 대해 알아보겠습니다. (0) | 2026.03.01 |