Configs2026年4月13日·1 分钟阅读

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
快速使用

先拿来用,再决定要不要深挖

这里应该同时让用户和 Agent 知道第一步该复制什么、安装什么、落到哪里。

# 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

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产