Guide · Open source
How to use bottom (btm): install and run the terminal system monitor
Updated · written with AI from the project's own documentation and checked against our catalogue data
bottom (command: btm) is a free, open-source program that runs in your terminal and shows what your computer is doing. It displays live graphs and tables for CPU, memory, network, disk, temperature and battery, along with a process list you can sort, search and stop. This guide shows you how to install it, start it and find your way around, which suits anyone comfortable typing commands, including people who manage servers over SSH.
Quick start
- 1Install the Rust toolchain. If you use the Cargo route, make sure Rust is installed, then run rustup update stable as the README suggests.
- 2Install bottom. Run cargo install bottom --locked, or use a package manager entry from the README for your system.
- 3Open a terminal. Use any terminal on Linux, macOS or Windows where the installed program is available.
- 4Start the monitor. Type btm and press Enter to open the live dashboard.
- 5Explore widgets. Use the process list to sort and search, and expand a widget to focus on it.
- 6Customize. Try a theme with --theme or set up a config file to change the layout.
What bottom can show you
bottom is a process and system monitor. Its graphs show CPU usage over time (average and per core), RAM and swap usage, network I/O, temperature and disk I/O. Separate widgets show disk capacity, temperature sensors and battery usage.
The process widget lists running processes. You can sort and search them, send kill signals, and switch on tree mode to see parent and child relationships.
- CPU usage over time, average and per core
- RAM and swap usage over time
- Network I/O and disk I/O over time
- Temperature graphs and sensor table
- Disk capacity and battery widgets
- Process list with sorting, searching, kill signals and tree mode
Install bottom with Cargo
The simplest route described in the project README is installing the bottom crate from crates.io with Cargo. This route needs a Rust toolchain. The README suggests updating your stable Rust first.
The --locked flag tells Cargo to use the versions recorded in Cargo.lock. You can leave it out, but the README warns this may cause dependency problems.
rustup update stable
cargo install bottom --lockedInstall bottom with a package manager
The README lists packages for many systems, including Alpine (apk), Arch Linux (pacman), Homebrew, Scoop, winget and Chocolatey. Check the README's Installation section for the entry that matches your system.
On Arch Linux, the official package installs with pacman.
- Alpine Linux: apk add bottom
- Arch Linux: sudo pacman -S bottom
- Other options in the README include Homebrew, MacPorts, Scoop, winget, Chocolatey, Nix and Snap
sudo pacman -S bottomStart bottom and run it
After installing, run the command btm in a terminal. The program opens a full-screen view of your system. The README mentions a demo that shows searching, expanding widgets and killing processes, which are the main interactive actions.
bottom has a basic mode inspired by htop, and you can focus on a single widget by expanding it. The full documentation covers keyboard controls.
btmCustomize the layout and look
bottom can be changed with command-line options or a config file. You can pick from built-in or custom colour themes, change how widgets behave, rearrange the layout, and filter out entries in some widgets.
The README demo uses a theme set on the command line with the --theme flag. The project documentation has the full list of options.
- Choose a colour theme with --theme
- Change the widget layout
- Filter entries in some widgets
- Switch to the htop-style basic mode
btm --theme gruvboxCheck whether your platform is supported
bottom officially supports macOS (x86_64, aarch64), Linux (x86_64, i686, aarch64) and Windows (x86_64, i686). Other platforms such as FreeBSD and NetBSD may work, but the README says they receive limited support and may not be tested in CI.
If you use an unofficial platform, expect possible gaps in features or bugs that may not be fixed.
What people use it for
- Watching CPU and memory over time on a laptop from the terminal
- Checking load and processes on a remote server over SSH
- Finding and stopping a runaway process from the process list
- Comparing per-core CPU usage with the per-core graph
- Keeping a simpler htop-style view with the basic mode
Frequently asked questions
How do I install bottom?
The README gives the Cargo route: run rustup update stable, then cargo install bottom --locked. Package manager entries exist for many systems, including apk add bottom on Alpine and sudo pacman -S bottom on Arch Linux.
What is the command to run bottom?
The command is btm. Type it in a terminal after installing to open the monitor.
Is bottom free and open source?
Yes. The project is licensed under the MIT licence and its source is on GitHub under ClementTsang/bottom.
What do I need to install bottom with Cargo?
You need a Rust toolchain. The README recommends updating the stable channel before installing.
Does bottom work on Windows and macOS?
Yes. The README lists Linux, macOS and Windows as officially supported, with specific architectures for each.
How does bottom compare to htop and gtop?
bottom is inspired by htop, gtop and gotop. Its main differences from the README are graphs over time, widget layouts you can customize, and a basic mode modeled on htop. The README describes it as a monitor rather than a profiler.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
bottom suits people who want a live system monitor in the terminal, especially developers and sysadmins working over SSH, and those who want to customize panels and graphs. If you want a point-and-click desktop app, or deep profiling beyond what the README describes, choose a different tool.
Install options & downloads