ConfigsApr 13, 2026·3 min read

bottom — Beautiful Cross-Platform System Monitor in Rust

bottom (btm) is a customizable, cross-platform graphical system monitor for the terminal. It displays CPU, memory, network, disk, temperature, and process information with interactive charts — a modern alternative to top, htop, and btop.

AI
AI Open Source · Community
Quick Use

Use it first, then decide how deep to go

This block should tell both the user and the agent what to copy, install, and apply first.

# Install bottom
brew install bottom
# Or: cargo install bottom
# Or: sudo apt install bottom

# Run
btm

# With specific update rate
btm --rate 500  # update every 500ms

# Minimal mode
btm --basic

# Show specific widgets only
btm --default_widget_type proc

Introduction

bottom is a terminal system monitor that combines the information of top, htop, and iotop into a single, beautiful interface. Built in Rust with Ratatui, it provides interactive charts for CPU, memory, network, and disk usage alongside a searchable process list with tree view.

With over 13,000 GitHub stars, bottom stands out for its cross-platform support (Linux, macOS, Windows), extensive customization via TOML config, and intuitive keyboard/mouse navigation.

What bottom Does

bottom provides real-time visualization of system resources: CPU usage per core, memory and swap usage, network I/O, disk I/O, temperatures (where available), and a process table with search, sort, and tree view. All displayed as interactive terminal charts.

Architecture Overview

[bottom (btm)]
Rust + Ratatui + crossterm
        |
+-------+-------+-------+
|       |       |       |
[CPU]   [Memory] [Network]
Per-core RAM/Swap Upload/
usage   usage    Download
charts  charts   charts
        |
+-------+-------+-------+
|       |       |       |
[Disk]  [Temp]  [Process]
Read/   CPU/GPU Table with
Write   sensors search,
I/O     temps   sort, tree

Self-Hosting & Configuration

# ~/.config/bottom/bottom.toml
[flags]
rate = 1000          # Update rate in ms
default_widget_type = "proc"
hide_avg_cpu = false
color = "gruvbox"
temperature_type = "celsius"
enable_gpu = true

# Custom layout
[[row]]
  [[row.child]]
    type = "cpu"
  [[row.child]]
    type = "mem"
[[row]]
  [[row.child]]
    type = "net"
  [[row.child]]
    type = "disk"
[[row]]
  [[row.child]]
    type = "proc"
    default = true

Key Features

  • Interactive Charts — CPU, memory, network, disk as live graphs
  • Process Manager — search, sort, filter, tree view, kill processes
  • Cross-Platform — Linux, macOS, and Windows support
  • GPU Monitoring — NVIDIA and AMD GPU utilization (where available)
  • Custom Layouts — configure widget arrangement via TOML
  • Color Themes — built-in themes (gruvbox, nord, etc.) and custom colors
  • Mouse Support — click and scroll to interact with widgets
  • Battery — battery status and charge level display

Comparison with Similar Tools

Feature bottom (btm) btop htop glances Netdata
Language Rust C++ C Python C
Platform Linux, macOS, Win Linux, macOS Linux, macOS Cross-platform Linux, macOS
GPU Monitoring Yes Yes No Via plugin Yes
Charts Yes (interactive) Yes No (bars) No Yes (web)
Custom Layout TOML config Theme config No No Dashboard
Mouse Support Yes Yes Yes No Yes (web)
Resource Usage Very Low Low Very Low Moderate Moderate

FAQ

Q: bottom vs btop vs htop — which should I use? A: bottom for interactive charts and Windows support. btop for the most beautiful TUI with GPU monitoring. htop for a lightweight, universal process viewer. All three are excellent.

Q: How do I kill a process? A: Navigate to the process table, select a process, press dd (Vim-style) or Delete to send SIGTERM. Press dd again on the confirmation to send SIGKILL.

Q: Can I use bottom over SSH? A: Yes. bottom works in any terminal, including SSH sessions. It adapts to the terminal size and uses minimal bandwidth.

Q: How do I customize the layout? A: Edit ~/.config/bottom/bottom.toml and define [[row]] and [[row.child]] sections to arrange widgets. Each child specifies a widget type (cpu, mem, net, disk, proc, temp).

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets