TL;DR — Quick Summary

Bottom (btm) is a graphical system monitor for the terminal written in Rust. CPU, memory, network, disk, temperature, and process management with interactive charts.

Bottom gives you real-time graphical system monitoring in the terminal. CPU usage over time, memory trends, network throughput, disk I/O — all as interactive charts you can navigate with keyboard shortcuts.

Installation

# macOS
brew install bottom

# Arch Linux
sudo pacman -S bottom

# Cargo
cargo install bottom --locked

# Ubuntu/Debian (snap)
sudo snap install bottom

# The binary is called 'btm'
btm

Keybindings

Key Action
Tab / Shift+Tab Switch widgets
↑ ↓ Navigate within widget
Enter Expand/collapse chart
e Expand selected process
s Search processes
dd Kill selected process
t Toggle tree view
b Toggle basic/detailed mode
Ctrl+r Reset zoom
/ ? Help
q Quit

Configuration

~/.config/bottom/bottom.toml:

[flags]
rate = 1000           # Update rate in ms
dot_marker = false     # Use braille for charts
temperature_type = "c" # Celsius
tree = true            # Default to tree view
hide_avg_cpu = false

[colors]
table_header_color = "LightBlue"
cpu_color = ["Red", "Green", "Blue", "Yellow", "Cyan", "Magenta"]

# Custom layout
[[row]]
  [[row.child]]
    type = "cpu"
[[row]]
  ratio = 3
  [[row.child]]
    type = "proc"
    default = true

Comparison

Feature Bottom htop top gotop glances
Language Rust C C Go Python
CPU chart History Bar Text History Text
Memory chart History Bar Text History Text
Network Graph No No Graph Text
Disk I/O Graph No No No Text
Temperature Yes No No Yes Yes
Battery Yes No No Yes Yes
Cross-platform All Unix Unix Unix All
Process tree Yes Yes No No Yes

Summary

  • Bottom (btm) is a graphical terminal system monitor with interactive charts
  • Shows CPU, memory, network, disk I/O, temperature, and battery over time
  • Process management with search, tree view, and kill capabilities
  • Cross-platform: Linux, macOS, Windows, FreeBSD
  • Customizable layout, colors, and update rate via config file