mrkeyoor.com_
Wed 23 Sept 00:35 UTC
Dev Toolsevaluationupdated 26 Aug 2026

bottom review

bottom, run as `btm`, is a graphical system and process monitor inside the terminal. It combines live CPU, memory, network, disk, temperature, battery, and process views on Linux, macOS, and Windows, with configurable layouts and process controls.

+10stars / 7d
Verdict

Our bottom build completed in 164 seconds and all 323 tests passed in 62 seconds, making it the cleanest source checkout in this batch. Install it when you want live local graphs and practical process controls in one cross-platform terminal interface. Choose a narrower tool for scripts or process-only work, and a monitoring service when history, alerts, or fleets matter.

We ran it

Lab card: what happened when we ran bottomScreenshot of bottom (bottom.pages.dev)
Install✓ · 10s137 packages
Build✓ · 164s
Tests✓ · 62s323 passed · 0 failed of 323 (cargo test)
Repo366 files~39,415 lines of source · 5.5 MB · 11 CI workflows · tests dir

Answers from our run

Does bottom build from source?

Dependencies installed in 10 seconds (137 packages), and the build succeeded in 164 seconds. We cloned commit fff8a09 into a clean Debian container with 3 CPUs and no project-specific setup.

Do bottom's tests pass?

Yes: 323 of 323 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use bottom?

Teams needing retained metrics, alerts, remote hosts, or shared dashboards: bottom is an interactive local monitor, not a monitoring service.

What are the alternatives to bottom?

htop, btop, procs. Our bottom build completed in 164 seconds and all 323 tests passed in 62 seconds, making it the cleanest source checkout in this batch.

Setup5/510-second install, broad packages, and no service or account
Docs5/5Detailed packages, widgets, configuration, support, and troubleshooting
Community5/5Release and repository activity both current in August 2026
Maturity5/5323 tests passed across three officially supported systems

Discussed on

  1. hnBottom: Yet another cross-platform graphical process/system monitor9 points
  2. hnbtm: a customizable system monitor for the Linux, macOS, and Windows terminal3 points

Who it’s for

Developers who want a readable live view of one machine without opening a browser.
Operators who need graphs plus searchable, sortable process inspection in the same terminal.
People moving between Linux, macOS, and Windows who want one familiar monitor.
Terminal users willing to tune layouts, themes, filters, units, and update behavior.

Who it’s NOT for

Teams needing retained metrics, alerts, remote hosts, or shared dashboards: bottom is an interactive local monitor, not a monitoring service.
GPU and VRAM diagnosis: issue 298 remains an open feature request rather than a documented widget.
Android, FreeBSD, NetBSD, Windows ARM, or unusual Linux architectures that require first-class support: the README lists them as unofficial.
Scripts that need stable machine-readable output: bottom is a continuously updating TUI rather than a ps replacement for pipelines.
Users who want the simplest possible process list and no graphs: htop or procs has a narrower interface.

Setup reality

Our Cargo install succeeded in 10 seconds and resolved 137 packages. The checkout was 5.5 MB with 366 files and about 39,415 source lines. A release build succeeded in 164 seconds.

Tests completed in 62 seconds: all 323 passed and 0 failed. This was the cleanest full run in this review batch. The repository had 11 CI workflow files and a tests directory.

Using the released tool is easier than compiling it. Packages and binaries exist for major Linux distributions, macOS, and Windows, and no account, service, or credential is required. Snap installations need extra observation and process-control interfaces. Sensor visibility and process actions can still depend on operating-system permissions.

bottom answers what this machine is doing now

btm fills a terminal with live graphs for CPU, memory, swap, network traffic, temperatures, and disk I/O. Tables show disk capacity, sensors, batteries, and processes. The process view supports sorting, searching, tree mode, and termination signals. A graph can zoom across different time windows, while expansion mode gives one widget most of the screen. It is a local diagnostic tool for the moment a laptop feels hot or a server shell becomes sluggish.

That boundary is useful. bottom does not ask for an account, start a metrics database, retain weeks of samples, or notify an on-call team. It watches the current host for as long as the program runs. For fleet health or post-incident history, use Prometheus, Netdata, or another monitoring service. For a quick answer during an SSH session, the absence of a service is an advantage.

Official support covers 3 operating systems

The project officially supports macOS on x86-64 and ARM64, Linux on x86-64, i686, and ARM64, plus 32-bit and 64-bit x86 Windows. It builds and tests with the current stable Rust release. FreeBSD, NetBSD, Android, Windows ARM, and several additional Linux architectures are listed as unofficial. They may compile, but CI coverage, available metrics, and maintainer support can be limited.

Cross-platform does not mean identical sensors. Operating systems expose different process, battery, thermal, and disk information, sometimes only with extra privileges. The Snap package requires mount, hardware, system, and process-control interfaces to be connected. Granting a monitor more authority should be a deliberate decision, especially when the process widget can send signals. Start without elevation and add only the access required for a specific missing metric or action.

What happened when we ran it

Our fresh Rust container completed the install stage in 10 seconds and resolved 137 packages. The repository checkout was 5.5 MB, containing 366 files and roughly 39,415 source lines. A release build succeeded in 164 seconds. The project had 11 CI workflow files, no Dockerfile, and a dedicated tests directory. Nothing in this path required a network service, database, API key, or secret.

The full Cargo test run completed in 62 seconds. All 323 tests passed and none failed. Among the 7 repositories in this assignment, bottom was the only compiled application whose install, build, and test stages all finished successfully. These timings came from our 3-CPU, 12 GB unprivileged Debian sandbox at commit fff8a09; they describe source verification on that machine rather than terminal refresh speed or runtime resource use.

Compiling from source is optional for most users. The README lists packages for Alpine, Arch, Debian, Fedora-family systems, Gentoo, Nix, openSUSE, Snap, Solus, Void, Homebrew, MacPorts, Chocolatey, Scoop, winget, Conda, and mise. Releases also provide native archives and a Windows installer. A package-manager install avoids the 164-second Rust build and is the sensible default unless you need a patch or a special target.

Configuration changes the dashboard without a plugin system

Command-line flags and a generated configuration file control themes, widget behavior, layout, filters, units, and other presentation choices. Basic mode offers a layout closer to htop, while expansion mode focuses on one widget. Shell completion files are published for Bash, Zsh, fish, PowerShell, Elvish, Fig, and Nushell. This is enough customization for most terminals without turning the monitor into an extension host.

The interface can still be too dense on a narrow session. Charts, tables, legends, and process columns compete for cells, so a small SSH pane benefits from basic mode or a custom layout. Search filtering also has limits: issue 1897 proposes richer operators such as != and a clearer distinction between literal, regular-expression, and query modes. Current search is useful, but it is not a full process-query language.

GPU data and automatic theme switching remain gaps

CPU, RAM, disks, network, temperatures, and batteries cover routine diagnosis. GPU and VRAM load do not appear in the documented widget list, and issue 298 remains open. A separate issue tracks use of a future system-information GPU API. Anyone debugging model training, games, or video workloads will still need nvidia-smi, vendor tools, or another monitor with working GPU support on that platform.

Theme behavior has a smaller irritation. bottom offers built-in and custom color themes, but issue 1284 requests automatic light or dark selection based on the terminal background. Users who switch their terminal with the operating-system theme may need to change bottom's theme themselves. These are feature gaps rather than failures in the core process and system views, and both are visible in the public queue.

Release 0.14.8 fixes cgroup and menu bugs

Version 0.14.8 was released on August 13, 2026. It fixes closing behavior in the sort menu, corrects cgroups v1 swap collection around a sentinel maximum value, and repairs schema links. The repository was pushed on August 26, and recent work included the 0.14.9 version update plus process-memory and progress-bar changes. GitHub showed 108 issues and pull requests combined, many of which are feature requests accumulated across years.

The maintenance signals agree: current release, current push, active pull requests, a broad package ecosystem, and a clean 323-test run in our sandbox. Documentation is similarly practical, with separate stable and nightly sites, platform support tables, configuration references, and troubleshooting advice. The project does not pretend every unofficial system works like Linux, which makes its support claims easier to trust.

Pick bottom for interactive local diagnosis

bottom is a good default when top feels too sparse and a browser dashboard is excessive. It combines recent trends with direct process action, installs almost everywhere, and keeps its state local. htop is better for users who live in the process tree, btop deserves a look for a different visual emphasis, and procs is easier to compose with command-line work. For the specific job of watching one machine in a terminal, bottom is ready to use.

Alternatives

ProjectWhat it isPick it when
htopA mature interactive process viewer centered on process and thread management.pick this instead when process control matters more than a multi-widget graphical dashboard.
btopA highly visual terminal resource monitor with its own dense dashboard style.pick this instead when its interface, GPU support on your platform, or metric presentation suits you better.
procsA modern Rust process-listing tool intended as a friendlier replacement for `ps`.pick this instead when searchable process output matters more than continuously updating system graphs.

What people are saying

  1. [github-trending] ClementTsang/bottom

Sources

  1. bottom README
  2. bottom repository
  3. bottom 0.14.8 release
  4. bottom documentation
  5. GPU and VRAM feature issue
  6. Termux support issue
  7. Search filter improvement issue

More dev tools reviews

crabbox · asdf · discord.js · h4cker · bend · 100-exercises-to-learn-rust · the whole board →