# bottom

> Cross-platform terminal-based system monitor with graphical widgets for CPU, memory, network, disk, and process management

Stars: 14.1k · Language: Rust · License: MIT · Categories: System

- Repository: https://github.com/ClementTsang/bottom
- Website: https://bottom.pages.dev
- Page: https://www.trmn.sh/tools/bottom

## Install

- Cargo: `cargo install bottom --locked`
- Homebrew: `brew install bottom`
- APT: `sudo apt install bottom`

## Overview

bottom (btm) is a cross-platform system monitor that runs in the terminal, providing graphical visualizations of system resources and process management capabilities. It displays real-time widgets for CPU usage (both average and per-core), RAM and swap usage, network I/O, disk capacity, temperature sensors, and battery status. All graphical widgets support zooming in and out of time intervals for detailed analysis.

The tool includes a comprehensive process widget that allows sorting, searching, and managing processes with kill signals and tree mode viewing. bottom supports extensive customization through command-line options and configuration files, including custom and built-in color themes, widget behavior modification, and layout customization. It also offers an htop-inspired basic mode and an expansion feature that focuses on individual widgets.

bottom officially supports Linux, macOS, and Windows across multiple architectures (x86_64, aarch64, i686), with unofficial support for additional platforms like FreeBSD and Android. The tool is built with Rust and inspired by gtop, gotop, and htop, offering filtering capabilities for widget entries and cross-platform compatibility for system administrators and developers who need detailed system monitoring.

### Installation

```bash
# via Cargo
cargo install bottom --locked
```

```bash
# via Homebrew
brew install bottom
```

```bash
# via APT
sudo apt install bottom
```

![bottom demo showing searching, expanding, and process killing](https://media.trmn.sh/cached/68a16300e9fe8ae4b7b11e80abad2e12256a10fc18a5e6c978cce2c63798c691.gif)

## Alternatives

- [zerobrew](https://www.trmn.sh/tools/zerobrew.md): Experimental Homebrew-compatible package client for macOS and Linux that uses content-addressable storage and APFS clonefiles for faster installs. (Rust, 8.2k stars)
- [procs](https://www.trmn.sh/tools/procs.md): A Rust-based replacement for ps with colored output, multi-column search, and additional process information (Rust, 6.2k stars)
- [Topgrade](https://www.trmn.sh/tools/topgrade.md): Detects installed package managers and tools on your system and runs the appropriate update commands for each in a single invocation. (Rust, 4.7k stars)
- [zenith](https://www.trmn.sh/tools/zenith.md): Terminal-based system monitor with graphical metrics for CPU, memory, network, disk usage, and process management written in Rust (Rust, 3.1k stars)
- [oxker](https://www.trmn.sh/tools/oxker.md): Rust TUI for viewing and controlling Docker containers, with log viewing, search, filtering, sorting, inspect and exec, configurable via TOML/JSON. (Rust, 2.0k stars)

## Guides

- [Modern Replacements for top](https://www.trmn.sh/replace/top): Replace top with htop, btop, or bottom: process lists, graphs, and tree views compared, plus Glances for stdout and API export.
- [Best Terminal System Monitors](https://www.trmn.sh/best/system-monitors): Compare btop, htop, bottom, glances and zenith: terminal system monitors for CPU, memory, disk, network and processes.

---

Canonical: https://www.trmn.sh/tools/bottom
