ScriptsJul 19, 2026·2 min read

gotop — Terminal-Based Graphical Activity Monitor

A Go-based terminal system monitor inspired by gtop and vtop that renders CPU, memory, disk, network, and process data as responsive ASCII charts.

Agent ready

Review-first install path

This asset needs a review step. The copied prompt tells the agent to dry-run, show the writes, then proceed only after confirmation.

Needs Confirmation · 64/100Policy: confirm
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
gotop
Review-first command
npx -y tokrepo@latest install 65deaa42-830c-11f1-9bc6-00163e2b0d79 --target codex

Dry-run first, confirm the writes, then run this command.

Introduction

gotop is a terminal-based graphical activity monitor written in Go. It renders real-time system metrics as ASCII line graphs and sparklines, providing an at-a-glance overview of CPU, memory, disk, network, and process activity in a visually compact layout.

What gotop Does

  • Displays per-core CPU usage as scrolling line graphs
  • Shows memory and swap consumption with visual bars
  • Monitors network I/O with real-time bandwidth graphs
  • Lists processes sortable by CPU, memory, or PID
  • Renders disk usage and temperature sensors when available

Architecture Overview

gotop is written in Go using the termui library for terminal rendering. It polls system metrics via gopsutil (a Go port of psutil) at regular intervals and renders them as terminal widgets. The layout is responsive and adapts to terminal size. Each widget runs independently, allowing selective display of components.

Self-Hosting & Configuration

  • Install via Homebrew, AUR, Nix, or download prebuilt binaries from GitHub
  • Configuration file at ~/.config/gotop/gotop.conf (created on first run)
  • Customize which widgets appear using the -l layout flag
  • Set update interval with -r flag (default 1 second)
  • Color schemes can be specified with -c flag (monokai, default, solarized, etc.)

Key Features

  • Single static binary with zero dependencies
  • Configurable layouts to show only the metrics you care about
  • Multiple built-in color schemes with custom theme support
  • Battery level widget for laptops
  • Minimal CPU overhead compared to GUI monitoring tools

Comparison with Similar Tools

  • btop++ — More polished UI with mouse support; gotop is simpler and lighter
  • htop — Process-focused only; gotop adds CPU/memory/network graphs
  • glances — Feature-rich with web UI; gotop is more visually focused on terminal charts
  • bottom — Rust-based with similar features and active maintenance
  • bpytop — Python version with similar aesthetics; gotop is a single Go binary

FAQ

Q: Is gotop still maintained? A: The original repo by cjbassi is archived. Community forks (xxxserxxx/gotop) continue active development.

Q: Does gotop work on macOS? A: Yes, it supports Linux, macOS, and FreeBSD.

Q: Can I use gotop over SSH? A: Yes. It works in any terminal emulator that supports 256 colors and Unicode.

Q: How do I show only specific widgets? A: Use the -l flag with a layout string, e.g., gotop -l minimal to show CPU and memory only.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets