개발과 서버 관리에서 시스템 리소스를 실시간으로 모니터링하는 건 필수 작업입니다. htop과 top이 오랜 세월 클래식 도구로 쓰여 왔지만, 오늘 소개할 건 훨씬 모던한替代品 — **Bottom (btm)**입니다.
Bottom이란?
Bottom (CLI에서는 btm)은 Rust로 만든 크로스플랫폼 그래픽 시스템/프로세스 모니터링 도구입니다. Linux, macOS, Windows를 모두 지원하며, gtop, gotop, htop에서 영감을 받았지만 더 풍부한 기능과 더 아름다운 UI를 제공합니다.
주요 기능
- 🦀 Rust로 작성 — 메모리 안전, 고성능, 낮은 리소스 사용
- 🖥️ 크로스플랫폼 — Linux, macOS, Windows 모두 지원
- 📊 시각화 차트 — CPU, 메모리, 네트워크 실시간 차트
- 🎨 높은 커스터마이징 — 레이아웃, 색상, 필터 자유롭게 설정
- ⌨️ 직관적인 단축키 — vim 스타일 키보드 조작, 학습 비용 낮음
- 🔍 강력한 검색 — 프로세스를 빠르게 필터링하고 찾기
- 📈 히스토리 데이터 — 리소스 사용 추이 확인
설치 방법
Linux
패키지 관리자로 설치:
# Ubuntu/Debian
sudo apt install bottom
# Fedora/RHEL
sudo dnf install bottom
# Arch Linux
sudo pacman -S bottom
# openSUSE
sudo zypper install bottom
Cargo로 설치 (최신 버전 권장):
cargo install bottom
프리컴파일드 바이너리로 설치:
# 최신 버전 다운로드
wget https://github.com/ClementTsang/bottom/releases/latest/download/bottom_x86_64-unknown-linux-gnu.tar.gz
tar -xzf bottom_x86_64-unknown-linux-gnu.tar.gz
sudo mv btm /usr/local/bin/
macOS
# Homebrew 사용
brew install bottom
# 또는 MacPorts 사용
sudo port install bottom
Windows
# Chocolatey 사용
choco install bottom
# 또는 Scoop 사용
scoop install bottom
# 또는 winget 사용
winget install ClementTsang.bottom
빠른 시작
기본 사용법
설치가 끝났다면 터미널에서 바로 실행하세요:
btm
전체 시스템 모니터링 화면이 나타납니다.
자주 쓰는 단축키
Bottom은 vim 스타일 키보드 조작 방식을 사용합니다:
| 단축키 | 기능 |
|---|---|
? 또는 h |
도움말 메뉴 열기 |
q |
프로그램 종료 |
g |
맨 위로 이동 |
G |
맨 아래로 이동 |
/ |
프로세스 검색 |
dd |
선택한 프로세스 종료 |
Tab |
창 간 전환 |
마우스 클릭 |
창 직접 선택 |
커맨드라인 옵션
# 새로고침 간격 지정 (밀리초)
btm --rate 2000
# 기본적으로 CPU 창 표시
btm --default_widget_type cpu
# 배터리 정보 숨기기
btm --hide_avg_cpu
# 커스텀 설정 파일 사용
btm --config /path/to/config.toml
# 전체 도움말 보기
btm --help
설정 커스터마이징
Bottom은 설정 파일을 통한 심도 있는 커스터마이징을 지원합니다. 설정 파일 위치:
# Linux/macOS
~/.config/bottom/bottom.toml
# Windows
%APPDATA%\bottom\bottom.toml
설정 예시
# 새로고침 간격 (밀리초)
rate = 2000
# 기본 위젯 레이아웃
[[row]]
[[row.widget]]
type = "cpu"
[[row.widget]]
type = "memory"
[[row]]
[[row.widget]]
type = "network"
[[row.widget]]
type = "process"
# 색상 테마
[colors]
table_header_color = "#00d7ff"
cpu_core_colors = ["#ff5555", "#50fa7b", "#f1fa8c"]
# 프로세스 필터
[flags]
hide_kernel_threads = true
show_cpu_cores = true
htop과 비교
| 기능 | Bottom (btm) | htop |
|---|---|---|
| 프로그래밍 언어 | Rust | C |
| 크로스플랫폼 | ✅ Linux/macOS/Windows | ⚠️ 주로 Linux/Unix |
| 시각화 차트 | ✅ 내장 | ❌ 추가 설정 필요 |
| 히스토리 데이터 | ✅ 지원 | ❌ 실시간만 |
| 설정 유연성 | ✅ TOML 설정 | ⚠️ 제한적 |
| 리소스 사용 | 낮음 | 낮음 |
| 커뮤니티活跃度 | 🔥 빠르게 성장 | 안정적 |
실제 활용 사례
1. 서버 성능 모니터링
원격 서버에서 btm을 실행하면 다음을 직관적으로 확인할 수 있습니다: - 각 CPU 코어의 부하 분포 - 메모리 사용량 및 스왑 공간 - 네트워크 인터페이스의 실시간 트래픽 - 디스크 I/O 읽기/쓰기 속도
2. 개발 환경 디버깅
리소스를 많이 쓰는 애플리케이션을 실행할 때 btm으로 빠르게 파악: - 어떤 프로세스가 CPU를 가장 많이 쓰는지 - 메모리 누수가 의심되는 프로세스 - 네트워크 연결 이상 여부
3. 시스템 최적화 분석
히스토리 데이터 차트를 통해 분석: - 시스템 리소스 사용 피크 시간대 - 장기 리소스 추세 - 최적화 조치의 효과 검증
고급 팁
위젯 레이아웃 커스터마이징
Bottom에서는 인터페이스 레이아웃을 완전히 커스터마이징해 자신에게 맞는 모니터링 패널을 만들 수 있습니다:
# CPU와 프로세스에 집중한 레이아웃
[[row]]
[[row.widget]]
type = "cpu"
ratio = 2
[[row.widget]]
type = "process"
ratio = 3
프로세스 필터링과 검색
/ 키로 검색창을 열면 정규식을 지원합니다:
# 특정 프로세스 검색
python
# 정규식 사용
^node.*
# 특정 사용자 필터
user:kevin
특정 CPU 코어 모니터링
# 지정된 CPU 코어만 표시
btm --cpu_core 0 --cpu_core 1
정리
Bottom (btm)은 Rust의 성능, 크로스플랫폼 지원, 풍부한 시각화, 높은 커스터마이징 덕분에 htop의 강력한 대안으로 자리 잡고 있는 모던 시스템 모니터링 도구입니다.
시스템 관리자이든, DevOps 엔지니어이든, 일반 개발자이든 btm은 직관적이고 효율적인 시스템 리소스 모니터링 경험을 제공합니다. 게다가 완전 오픈소스에 무료이고, 커뮤니티가 활발하며 지속적으로 업데이트됩니다.
지금 바로 시작하세요: GitHub 저장소에서 모던 시스템 모니터링 여정을 시작하세요!
참고 링크: