bottom
A terminal system monitor with graphs, like top or htop
Built by @ClementTsang on GitHub. This page was written by @iluxav from public sources, last updated for 0.14.9 (2026-08-27), and may lag behind new releases.
Maintain bottom? Claim itWatch CPU, memory, network, disk, temperature, battery and GPU usage as graphs in the terminal, and sort, search and kill processes.
What you can do with it
Sort, search, filter and kill processes, and show them as a tree.
See disk capacity and usage, temperature sensors and battery status.
See GPU usage and GPU memory, including AMD GPUs on Linux and NVIDIA GPUs.
Good to know
AMD GPU data is Linux only. GPU features are on by default since 0.11.0; turn them off with `--disable_gpu`.
Change colours, themes, widget layout and behaviour with command-line options or a TOML config file.
Use an htop-like basic mode, or expand one widget to fill the screen.
Run bottom in a read-only mode where actions such as killing processes are disabled.
Graph sensor temperatures over time.
Graph disk read and write throughput over time.
Before you upgrade
Newest firstCPU, RAM and swap usage now take cgroup limits into account, so numbers inside containers differ from before.
Options moved from `[flags]` into `[processes]`, `[cpu]`, `[memory_graph]` and `[network_graph]` (and `[network]` became `[network_graph]`); the old keys still work but print deprecation warnings, so move them to the new sections.
`hide_table_gap` is gone; use the new `table_gap` option to control the gap between table headers and data.
Read the evidence
Building from source now needs Rust 1.95 or newer; run `rustup update stable` first.
Read the evidence
Release history 8
Start network totals at zero when bottom starts, to measure traffic from now on.
Details
New option to show total network usage zeroed at startup.
0.14.9.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Set the default sort order of tables in the config file.
Details
New config option for the default sort order (ascending or descending). Groups 0.14.5 to 0.14.7, which also fix the first disk I/O reading at startup.
0.14.5 to 0.14.7.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Use the Memory, Memory%, Total Read and Total Write process columns in the config file as the schema documents.
Details
The config now accepts the `Memory`, `Memory%`, `Total Read` and `Total Write` column aliases, and uppercase Q quits as announced in 0.13.0.
0.14.4.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Graph temperatures and disk I/O over time, not just their current values.
Details
New temperature graph and disk I/O graph; packet rate and average packet size for networks; default sort columns for processes, disks and temperatures; `!=` and `!` in process search; search in the help dialog; table scroll bars. Config options moved from `[flags]` into per-widget sections, and CPU and memory use now respect cgroup limits. Groups 0.13.0, 0.14.0 and 0.14.1.
Also: Unmounted disks on Linux; FreeBSD UFS disk I/O; GPU short names; a `bg_colour` option; uppercase Q quits.
0.13.0 to 0.14.1. Building from source needs Rust 1.95 or newer.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
- ClementTsang/bottom/releases/tag/0.13.0
- ClementTsang/bottom/pull/2048
- ClementTsang/bottom/pull/2073
- ClementTsang/bottom/pull/1938
- ClementTsang/bottom/pull/2045
- ClementTsang/bottom/pull/2053
- ClementTsang/bottom/pull/1948
- ClementTsang/bottom/pull/2061
- ClementTsang/bottom/pull/2066
- ClementTsang/bottom/pull/2062
- ClementTsang/bottom/pull/2063
- ClementTsang/bottom/pull/2064
- ClementTsang/bottom/blob/0.14.1/src/constants.rs
- ClementTsang/bottom/pull/2039
- ClementTsang/bottom/releases/tag/0.14.0
- ClementTsang/bottom/pull/2052
Run bottom read-only, so processes cannot be killed by accident.
Details
Read-only mode disables killing processes; nice and priority columns in the process widget; spacebar toggles a process tree branch; Enter closes process search. Groups 0.12.0 to 0.12.3.
0.12.0 to 0.12.3.
Seeded by @iluxav with Claude Code (canido)
Count ZFS ARC as free memory so RAM usage is not overstated.
Details
New `free_arc` option subtracts the ZFS ARC from used memory.
0.11.3.
Seeded by @iluxav with Claude Code (canido)
See the threads of a process on Linux, and hide kernel threads.
Details
Threads are shown for processes on Linux; kernel threads can be hidden; a new option ignores all keypresses.
0.11.2.
Seeded by @iluxav with Claude Code (canido)
Starting point
Watch CPU, memory and network usage as graphs in the terminal and manage processes in the same view.
Details
State as of 0.11.1: graph widgets for CPU, RAM/swap and network, table widgets for disks, temperatures, batteries and processes, configured by command-line options or a TOML config file.
Linux, macOS and Windows; packaged in many distros, on crates.io and as release binaries.
Seeded by @iluxav with Claude Code (canido)