Introduction
gtop is a terminal system monitoring tool that renders CPU, memory, disk, network, and process data in a colorful dashboard. It provides a quick visual overview of system health without leaving the terminal.
What gtop Does
- Displays real-time CPU usage per core with color-coded bar charts
- Shows memory and swap usage with visual progress indicators
- Lists running processes sorted by CPU or memory consumption
- Monitors network throughput for upload and download
- Renders disk usage across mounted volumes
Architecture Overview
gtop is built on Node.js using the blessed and blessed-contrib libraries for terminal rendering. It polls system metrics through OS-level APIs exposed by Node.js and third-party modules. The dashboard layout is a fixed grid of widgets that update on a configurable refresh interval.
Self-Hosting & Configuration
- Install globally with
npm install -g gtop(requires Node.js) - Also available via Snap:
snap install gtop - No configuration file needed; runs with sensible defaults
- Quit with
qorCtrl+C - Supports terminal resizing for responsive layout adjustments
Key Features
- Visually rich dashboard with charts, sparklines, and progress bars
- Per-core CPU utilization with color gradients
- Process table with sortable columns
- Minimal resource footprint despite the rich display
- Cross-platform support for Linux, macOS, and Windows
Comparison with Similar Tools
- htop — interactive process viewer; gtop adds network and disk widgets in a dashboard layout
- btop — feature-rich C++ monitor; gtop is simpler to install via npm with no compilation
- Glances — Python-based with extensive plugins; gtop is lighter and more visual
- bottom — Rust-based TUI monitor; gtop trades configurability for zero-config simplicity
- top — basic built-in utility; gtop adds color, charts, and a modern layout
FAQ
Q: Does gtop require root access? A: No. It reads system metrics available to the current user.
Q: Can I customize the refresh interval? A: The default interval is built in. For adjustable intervals, check the source or use alternatives like btop.
Q: Does it work over SSH? A: Yes. It runs in any terminal that supports 256 colors and Unicode.
Q: How much memory does gtop use? A: Typically under 50 MB, as it is a lightweight Node.js application.