리눅스 시스템 모니터링 필수 도구 htop 실무 완벽 마스터 가이드

개요

복잡하고 지루한 man 페이지 대신 직접 터미널에서 실행해보며 htop의 핵심 기능을 배웁니다. CPU·메모리 실시간 모니터링부터 프로세스 검색, 트리 뷰, 자원 관리 기법까지 실습을 통해 한눈에 익힐 수 있습니다.

htop 설치 및 인터페이스 기본 구성 살펴보기

htop 실습 진행을 위해 패키지 목록을 갱신하고 시스템 모니터링 도구를 설치합니다.

sudo apt-get update -qq && sudo apt-get install -y htop

설치된 htop의 정확한 버전을 확인하기 위해 htop -v 명령어를 실행합니다.

htop -v

htop의 사용법과 사용 가능한 전체 옵션 목록을 확인하기 위해 htop --help 명령어를 실행합니다.
⚙️ [주요 옵션]

-d : 화면 갱신 주기(딜레이)를 0.1초 단위로 설정합니다.
-p : 지정한 특정 프로세스 ID(PID)만 필터링하여 모니터링합니다.
-u : 특정 사용자가 실행한 프로세스만 모아서 화면에 표시합니다.
-s : 지정한 열(컬럼)을 기준으로 프로세스 목록을 정렬하여 출력합니다.
-t : 부모-자식 프로세스 관계를 한눈에 파악할 수 있도록 트리 구조로 표시합니다.
-C : 색상 표시를 끄고 흑백(단색) 화면 모드로 전환합니다.
-F : 입력한 검색어와 일치하는 실행 명령어를 가진 프로세스만 필터링하여 표시합니다.

htop –help

백그라운드 프로세스 생성과 PID 필터링 및 트리 뷰 확인

htop 모니터링 실습용 프로세스를 생성하기 위해 백그라운드에서 300초 동안 대기하는 sleep 300 & 명령어를 실행합니다.

sleep 300 &

실행 중인 sleep 프로세스의 프로세스 ID(PID)를 확인하기 위해 pgrep sleep 명령어를 실행합니다.

pgrep sleep

조회된 PID에 해당하는 프로세스만 선별하여 모니터링하기 위해 htop -p $(pgrep -d',' sleep) 명령어를 실행합니다.
지정한 프로세스만 화면에 필터링되어 자원 사용량을 집중적으로 추적할 수 있습니다.

htop -p $(pgrep -d’,’ sleep)

프로세스 간의 부모-자식 계층 관계를 트리 구조로 시각화하여 확인하기 위해 htop -t 명령어를 실행합니다.
어떤 부모 프로세스에 의해 자식 프로세스가 파생되었는지 직관적으로 파악할 수 있습니다.

htop -t

사용자별 프로세스 필터링 및 자원 사용량 기준 정렬

현재 로그인한 사용자가 실행한 프로세스만 선별하여 모니터링하기 위해 htop -u $(whoami) 명령어를 실행합니다.
다른 시스템 계정이나 데몬 프로세스를 제외하고 현재 계정의 작업 목록만 집중적으로 점검할 수 있습니다.

htop -u $(whoami)

메모리 사용률이 높은 순서대로 프로세스 목록을 정렬하여 확인하기 위해 htop -s PERCENT_MEM 명령어를 실행합니다.
메모리를 과도하게 점유하는 프로세스를 상단에서 즉시 확인하여 자원 병목 현상을 신속히 진단할 수 있습니다.

htop -s PERCENT_MEM

CPU 사용률을 기준으로 프로세스 목록을 정렬하여 모니터링하기 위해 htop -s PERCENT_CPU 명령어를 실행합니다.
CPU 자원을 가장 많이 소모하는 프로세스를 우선적으로 추적하여 시스템 부하 원인을 빠르게 파악할 수 있습니다.

htop -s PERCENT_CPU

부하 프로세스 제어: 우선순위(Nice) 변경 및 프로세스 종료

CPU 부하 제어 실습을 위해 무한 루프를 발생시키는 백그라운드 프로세스를 생성하고 할당된 PID를 확인합니다.

yes > /dev/null & TEST_PID=$!; echo “실습 프로세스 PID: $TEST_PID”

실행 중인 프로세스의 Nice 값을 +10으로 높여 CPU 자원 할당 우선순위를 낮추기 위해 renice +10 -p $TEST_PID 명령어를 실행합니다.
기존 우선순위 0에서 10으로 변경되어 해당 프로세스가 시스템의 다른 주요 작업에 미치는 자원 점유 영향을 줄일 수 있습니다.

renice +10 -p $TEST_PID

실습이 끝난 부하 프로세스를 안전하게 종료하기 위해 정상 종료 신호(SIGTERM, -15)를 먼저 전달하고, 응답하지 않을 경우 강제 종료 신호(SIGKILL, -9)를 전송합니다.
실행 중인 프로세스를 안전하고 확실하게 정리하여 시스템 자원을 회수할 수 있습니다.

kill -15 $TEST_PID 2>/dev/null || kill -9 $TEST_PID

지금까지 리눅스 시스템 모니터링의 핵심 도구인 htop의 화면 구성부터 실무 단축키 활용법까지 간단하게 살펴보았습니다.
직관적인 htop 모니터링을 실무에 적극 활용하여 서버 리소스를 더욱 안정적이고 효율적으로 관리해 보시기 바랍니다.