53 developer tools, always updated, new upstream releases land in apt within hours. Join the Discord

📅 From , the apt mirror will require a subscription. See pricing · 🆓 There is an always-free mirror

📊 Install Latest bottom on Ubuntu

A customizable graphical process and system monitor for the terminal

Latest version: 0.14.8 · updated 2026-08-18
SourceVersion
deb.griffo.io0.14.8 ✅
Official Ubuntu0.12.3 🛑
← Back to home

What is bottom?

bottom (the command is btm) is a graphical process and system monitor for the terminal, written in Rust and inspired by gtop, gotop and htop. By default it behaves like a dashboard: CPU, memory, network, disk, temperature and process widgets share one screen, and any of them can be sorted, zoomed or expanded to fill the terminal.

🚀 Why Latest Versions Matter: the official archives are several minor releases behind, and those releases are where the useful things happened: separate cache and buffer accounting, GPU usage in the memory widget, built-in colour themes, kernel-thread filtering and a long list of fixes for newer kernels and sensors. A monitor that misreads your hardware is worse than no monitor, so this is a tool worth keeping current.

⚡ Key Features of bottom

📈 Live Graphs

CPU (per core or averaged), memory, network throughput, disk I/O and temperatures as scrolling charts you can zoom with + and -.

🔍 Process Search

/ filters the process table, with regex, whole-word and case-sensitivity toggles, and one keystroke each to sort by CPU, memory, PID or name.

🌲 Tree Mode

t turns the process table into a tree, so a runaway worker shows up underneath the parent that spawned it instead of floating alone in the list.

🎛️ Custom Layouts

The config file describes rows, columns and widget ratios, so the dashboard shows the four things you actually watch instead of the default nine.

🎨 Built-in Themes

--theme gruvbox, nord and their light variants ship inside the binary, and every element's colour can be overridden in bottom.toml.

🖥️ Basic Mode

btm --basic drops the graphs for a compact numeric readout that stays readable over a slow SSH link or in a small tmux pane.

🚀 Always ahead of the official archives: Debian and Ubuntu freeze package versions when a release ships. This repository publishes new upstream releases typically within hours. A simple apt upgrade keeps you on the latest version.

📦 Installation from deb.griffo.io

Run the commands

Step 1: Add Repository

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

🆓 There is an always-free mirror. deb-free.griffo.io serves packages free forever, no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries cliamp, Ghostty, lazydocker, Oh My Posh and Zed; bottom is not one of them, so the repository above is the only way to get it today, ask and it can be enrolled.

How the free mirror works →

Step 2: Install bottom

# Install latest bottom
sudo apt install btm

# Verify installation
btm --version
# Install latest bottom
apt install btm

# Verify installation
btm --version

Step 3: First run and configuration

# Start the dashboard
btm

# A compact, graph-free readout for small terminals and slow links
btm --basic

# Point bottom at a config file. It is created with defaults if missing
mkdir -p ~/.config/bottom
btm --config_location ~/.config/bottom/bottom.toml

# The manual page and bash, zsh and fish completions ship with the package
man btm

🎯 Basic Usage Examples

Everyday monitoring:

# The full dashboard
btm

# Refresh twice a second and keep ten minutes of history
btm --rate 500ms --retention 10m

# Start on the process widget, already expanded
btm --default_widget_type proc --expanded

# Process tree, grouped, showing full command lines
btm --tree --process_command

Inside the dashboard:

# Keys that do the work
#   ?        in-app help with every keybinding
#   e        expand the selected widget to the whole terminal
#   f        freeze the display while you read it
#   +  -  =  zoom a graph in, out, or back to the default
#   /        search the process table
#   c m p n  sort processes by CPU, memory, PID or name
#   dd       stop the selected process
#   t        toggle the process tree

Fitting it to your machine:

# Fahrenheit, no average CPU row, dot markers instead of braille
btm --fahrenheit --hide_avg_cpu --dot_marker

# Count cache and buffers as their own memory line
btm --enable_cache_memory

# Battery widget on a laptop
btm --battery

# A colour theme that matches the rest of your terminal
btm --theme gruvbox

🔧 Tool Integrations

bottom is built to live in a terminal-first setup:

  • Config file: ~/.config/bottom/bottom.toml keeps layout, widget ratios, colours and your usual flags in one reviewable place
  • Desktop entry: the package installs bottom.desktop and an icon, so it also appears in the application menu as a system monitor
  • tmux and Zellij: happy in a narrow pane; --basic keeps it readable when the pane gets small
  • GPUs: NVIDIA and AMD usage appears in the memory widget when the drivers are present, and --disable_gpu turns the collection off
  • Servers: the amd64 build is statically linked, so a bare Debian or Ubuntu box needs nothing but the package

🚀 Why Choose deb.griffo.io?

📊 Repository Comparison:
  • Official Ubuntu: ships btm in universe, but frozen at whatever was current when the release was cut, with no upgrades afterwards
  • cargo install bottom: current, but it compiles for several minutes, lands outside apt, and brings no man page, completions or desktop entry
  • Upstream tarball: the official binary, which you then re-download by hand for every release
  • deb.griffo.io: latest version with automatic updates

📦 Package Build Repository

The Ubuntu packages are automatically built and maintained in this GitHub repository:

🔗 Related Packages

Also available from deb.griffo.io:

🎯 Perfect for: watching a long build or a busy server without leaving the terminal, hunting down the process eating a laptop's battery, keeping an eye on temperatures under load, and every SSH session where a graphical monitor is not an option.

💝 Support This Project

If this repository saves you time and effort, please consider supporting it!

⭐ Star on GitHub 🐦 Share on Twitter

Just after the command? See apt install btm, one page covering Debian and Ubuntu.

📦 Recent releases from this repository

📚 Release-specific install guides

❓ Frequently asked questions

Is bottom in the official Ubuntu repositories?

Yes, but the official Ubuntu archive ships bottom 0.12.3, while this repository serves bottom 0.14.8, rebuilt within hours of each upstream release.

How do I install the latest bottom on Ubuntu?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install btm. New releases arrive through the normal sudo apt upgrade.

Are the packages signed and how are they built?

Every package is signed with the repository's GPG key (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) and built from upstream releases in public GitHub packaging repositories that anyone can inspect.

Which Ubuntu releases are supported?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing and 26.04 Resolute.