gitmyhub

bashtop

Shell ★ 11k updated 2y ago

Linux/OSX/FreeBSD resource monitor

Bashtop is a terminal resource monitor showing live CPU, memory, disk, network, and process data in a visual text-based dashboard, written in Bash.

BashShellPythonpsutilsetup: easycomplexity 2/5

Bashtop is a terminal-based resource monitor for Linux, macOS, and FreeBSD. It runs inside a terminal window and shows live information about what your computer is doing: CPU usage, memory usage, disk read and write speeds, network activity, and a list of running processes. The display uses colored graphs and charts drawn with text characters to give a visual overview at a glance.

The interface is keyboard-driven. You can scroll through the process list, select a process to see detailed information about it, filter processes by name, sort them by different criteria like CPU or memory usage, and send signals to stop or kill a selected process. A built-in menu lets you change settings without manually editing configuration files.

Bashtop was written entirely in Bash, a scripting language that comes pre-installed on most Unix-like systems. On macOS and FreeBSD, it also requires Python 3 and a library called psutil to gather system statistics. On Linux it can collect data through the operating system's /proc file system directly, making Python optional for that platform. Optional tools like lm-sensors on Linux or osx-cpu-temp on macOS add CPU temperature readings.

The project has a successor called btop++ (also by the same author), which is a rewrite in C++ that is faster and more actively maintained. The README points users toward btop++ as the recommended version going forward, while bashtop itself remains available.

Bashtop supports themes for changing its color scheme and includes a built-in downloader for fetching additional themes from the repository. It is available in the package managers for several Linux distributions including Arch, Debian, Ubuntu, and Guix, as well as via FreeBSD ports.

Where it fits