Modern Replacements for top
Replace top with htop, btop, or bottom: process lists, graphs, and tree views compared, plus Glances for stdout and API export.
Updated
short verdict
htop is the closest step up from top: a scrollable process list with kill, renice, search, and tree view, and few runtime dependencies. btop and bottom add CPU, memory, disk, and network graphs; bottom also runs on Windows. Glances fits when you need stats exported to JSON, CSV, a web UI, or a REST API.
top shows a process table and a summary header in the terminal. The tools below replace it with interactive process management (kill, renice, filter, tree view) and, in most cases, graphs for CPU, memory, disk, and network. They differ in scope. htop stays centered on the process list, btop, bottom, bpytop, and zenith are graphical dashboards, and Glances adds web, API, and export modes.
this page is for
- Admins who want top's process focus with kill, renice, and search built in
- Developers who want CPU, memory, disk, and network graphs next to the process list
- Users who need a monitor on Windows, Linux, and macOS
- Anyone who needs system stats from a script, web UI, or API
A process viewer that keeps top's focus and adds scrolling, in-UI kill and renice, search, and tree view.
best for
- Direct top replacement
- Killing or renicing processes without looking up PIDs
- Minimal-dependency systems
strengths
- Scrolls vertically and horizontally to show full command lines
- Kill, renice, search, filter, tree view, and column sorting from the UI
- Graphical setup menu controls displayed columns and layout
- Built on ncurses with minimal runtime dependencies; runs on Linux, BSD, and macOS
weaknesses
- No network or disk graphs; it shows load average and swap but stays process-centric
- Optional features like sensors and Performance Co-Pilot depend on build configuration
A C++ dashboard with CPU, memory, disk, network, and process panels plus full mouse support.
best for
- One-screen overview of the whole system
- Mouse-driven process selection
- Users who already have bashtop or bpytop themes
strengths
- Clickable UI elements and keyboard navigation for selecting processes
- Process filter, sort options, tree view, and signal sending
- Reads bpytop and bashtop theme files; graph symbols and presets are configurable
- Runs on Linux, macOS, FreeBSD, NetBSD, and OpenBSD
weaknesses
- GPU monitoring is Linux-only and needs a build with GPU support enabled
- No Windows support listed
A Rust monitor (btm) with zoomable graph widgets and an htop-inspired basic mode.
best for
- Windows, Linux, and macOS with one tool
- Zooming into CPU or network history
- Layouts set by config file
strengths
- Officially supports Linux, macOS, and Windows on x86_64, aarch64, and i686
- Zoomable time intervals on all graph widgets, plus per-core CPU, swap, temperature, and battery
- Process widget with sorting, searching, kill signals, and tree mode
- Installs via Cargo, Homebrew, or APT; themes and layouts set in config files
weaknesses
- Many options across command-line flags and config files to learn
- FreeBSD and Android support is unofficial
A Python monitor that also runs as a web server, REST API, or stdout exporter.
best for
- Remote monitoring in client/server mode
- Exporting stats to JSON, CSV, or InfluxDB
- Docker and LXC container visibility
strengths
- Terminal, web UI, and HTTP/RESTful API modes
- glances --stdout cpu.user,mem.used,load prints chosen metrics
- Monitors Docker and LXC containers, plus temperatures, voltages, and fan speeds
- Python API in glances.api and exports to InfluxDB, ElasticSearch, and PostgreSQL
weaknesses
- Needs Python and pip (pip install 'glances[all]' for full features)
- Broader scope than a process viewer, so more to configure than top
A Python TUI with mouse support and auto-scaling graphs, and the predecessor of btop.
best for
- Linux, macOS, or FreeBSD users who already run bpytop
- Changing settings from an in-app menu
strengths
- Clickable buttons, scrollable process list, and per-process detail view
- Multi-term process filter and SIGTERM, SIGKILL, and SIGINT sending
- Configuration menu in the UI edits all settings without touching files
- Installs with pip3, Homebrew, or APT
weaknesses
- Needs a truecolor terminal (or 256-color with conversion) and Unicode for braille graphs
- On macOS it needs superuser privileges to show all processes
A Rust TUI with zoomable charts, historical scrolling, and per-process disk usage.
best for
- Looking back at performance history
- NVIDIA GPU metrics on Linux or macOS
strengths
- Zoomable charts with scrolling through historical data
- Saves performance data between runs
- Per-process disk usage, battery status, and optional NVIDIA GPU metrics
- Command-line options set the height of each visualization section
weaknesses
- Supports only Linux and macOS
- Delay accounting details need root on Linux
What changes compared to top
Differences the tools document, from process handling to output.
- htop scrolls horizontally to show full command lines and kills or renices without typing a PID
- btop, bottom, bpytop, and zenith add graphs for CPU, memory, network, and disk next to the process list
- btop, bottom, and bpytop accept mouse input; btop and bpytop have clickable elements
- Glances serves stats through a web UI, a REST API, or glances --stdout for chosen metrics
- bottom has an htop-inspired basic mode if the graph layout is too dense
When not to use these
- You need byte-for-byte top output in scripts or cron jobs; no tool here documents top-compatible flags or output
- You must run on a system without a terminal that supports Unicode or truecolor, which bpytop requires
FAQ
- Are these tools drop-in replacements for top in scripts?
- Not documented. None of the tools state compatibility with top's flags or output format. Glances is the one with a script-oriented mode: glances --stdout cpu.user,mem.used,load prints selected metrics, and it can export to CSV and JSON.
- Which replacement is closest to top?
- htop. It centers on a scrollable process list with CPU and memory columns, load average, and swap, and adds kill, renice, search, and tree view from the UI.
- Which replacement works on Windows?
- bottom officially supports Windows, along with Linux and macOS. The other tools list Linux, macOS, and BSD systems only.
- Which replacement shows network and disk graphs?
- btop, bottom, bpytop, and zenith all display network and disk usage alongside processes. Glances also reports them, in its terminal, web, or API output.