btop
An interactive resource monitor for CPU, memory, disks, networks, processes, temperatures, and battery state.
Why consider btop?
A cross-platform C++ resource monitor with a game-inspired terminal UI.
Learn btop by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
High-Fidelity Terminal Resource Monitoring
System administrators and developers frequently need visibility into system hardware and running applications without leaving the terminal environment. The open-source btop project functions as a terminal utility that tracks and displays statistics for processors, memory, storage, networks, and system tasks. [1] The software is written in C++ and serves as a direct continuation of the bashtop and bpytop projects. [2] It delivers a visually dense, game-inspired interface that runs entirely within the console.
Rather than just displaying plain text metrics, btop renders dynamic visual elements. Network traffic can be visually monitored via an auto scaling graph for network usage. [3] Its design caters to users who need quick visual indicators of system health without the overhead of deploying a web-based dashboard or desktop application. You can view its development activity and track releases on its official repository repository.
Interactive Navigation and Process Management
While many command-line utilities rely strictly on keyboard shortcuts, btop provides a highly interactive experience. Users can interact with the interface using a mouse, enabling clicking on highlighted buttons and scrolling through menus and process lists. [4] This dual-navigation approach allows users to quickly sort and filter processes using a mouse click, or stick to the keyboard if preferred.
When identifying resource-intensive applications, administrators need granular data. The tool includes a dedicated function for showing detailed stats for any selected process. [5] This makes it straightforward to drill down into a specific task's memory consumption or CPU footprint and then take action—such as sending termination signals—directly from the same interface.
Setup and Configuration
Customizing the monitor to fit your workflow can be done internally without manually editing dotfiles. Administrators can modify settings directly from a UI menu for changing all config file options. [6] This allows real-time adjustments to themes, update intervals, and displayed metrics.
The tool supports various operating systems, including Linux, macOS, and FreeBSD. For FreeBSD environments, the project documents specific prerequisites and a straightforward compilation process. The official setup steps for FreeBSD are as follows:
sudo pkg install gmake gcc11 coreutils git lowdowngit clone https://github.com/aristocratos/btop.gitcd btopgit checkout freebsdgmakeThese steps ensure that necessary dependencies like gmake and gcc11 are installed before fetching the repository and compiling the executable from the designated branch. Detailed requirements and alternative installation methods for other platforms are available in the official documentation.
Related tools
More options with a similar category or technology profile.
diskus
Minimal, fast alternative to du -sh written in Rust using multi-threaded directory traversal.
peco
Simplistic interactive filtering tool for Unix pipelines, process lists, and file trees.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
Freeze
Generate beautiful image screenshots and SVGs of code snippets and terminal outputs.