netwatch ~ ~/labs/syswatch.md
beta·v0.14.4
cd~/labs/syswatch
← all tools
syswatch.tui

syswatch

Single-host system diagnostics TUI.

SysWatch is the terminal you open when something feels off — before you reach for htop, iostat, nettop, powermetrics, and a notebook full of one-liners. Where htop shows you what’s running, SysWatch shows you what’s happening across CPU, memory, IO, GPU, power, and services — and tells you why in plain English when something’s anomalous.

Twelve tabs, cross-platform via sysinfo on macOS and Linux. Net interface counters and aggregate disk IO route through netwatch-sdk, so SysWatch and the NetWatch agent share a single source of truth for those parsers. Read-only by design — it never kills, renices, unmounts, or restarts.

~ $ syswatchtui
// syswatch · loops · no audio▶ play demo
// 01 · install

Install

macOS / Linux · Homebrew
$brew install syswatch
Cargo
$cargo install syswatch --locked

Use a current stable Rust toolchain. Linux needs no additional system libraries; macOS uses system frameworks.

Release binaries
Download releases →

Linux and macOS: x86_64 and ARM64. Static Linux builds and an armv5te static build are available.

From source
$git clone https://github.com/matthart1983/syswatch.git && cd syswatch && cargo build --release --locked

Run ./target/release/syswatch after building, or copy it to a directory on your PATH.

// 02 · quick start

Quick start

  1. 1
    Open the twelve-tab view
    $syswatch
  2. 2
    Use the dense view
    $syswatch --dense
  3. 3
    Use the compact view
    $syswatch --lite
  4. 4
    Replay a saved session
    $syswatch --replay session.swr
// 03 · usage

Usage

  1. 1
    Default 1 Hz tick
    $syswatch
  2. 2
    Faster refresh (2 Hz)
    $syswatch --tick 500
  3. 3
    Boot straight into a tab
    $syswatch --tab procs
// 04 · the tabs

The tabs

Each tab replaces a stack of one-off CLI tools.

#TabReplaces
1Overviewdashboard view of all subsystems
2CPUhtop CPU panel, top -d, mpstat
3Memoryfree, vm_stat, htop mem panel
4Disksiostat, iotop (aggregate)
5Filesystemsdf -h, df -i, mount
6Procshtop, ps auxf, pstree
7GPUioreg AGXAccelerator / /sys/class/drm
8Powerpmset, ioreg AppleSmartBattery / /sys/class/power_supply
9Serviceslaunchctl list / systemctl list-units
0Netnettop, iftop
-Timelinesession log + scrubber (no CLI equivalent)
+Insightsplain-English anomaly cards (no CLI equivalent)
// 05 · keys

Keys

1 2 3 4 5 6 7 8 9   →  Overview / CPU / Mem / Disks / FS / Procs / GPU / Power / Services
0 - +               →  Net / Timeline / Insights
Tab / Shift-Tab     →  Cycle tabs
↑ / ↓               →  Select row (Procs, Services)
s                   →  Cycle sort (Procs, Services)
← / →               →  Scrub session backward / forward
Home / End          →  Oldest sample / live
p                   →  Pause
q / Ctrl-C          →  Quit
// 06 · what’s distinctive

What’s distinctive

Insights tabHeuristic anomaly detection over the rolling session — swap thrash, runaway processes, disk full, memory pressure, high load, zombie parties — surfaced as plain-English cards with a suggested tab. The Overview’s bottom strip and the tab bar’s [+] badge keep them in sight from anywhere.
Session-wide scrubbingScrub the session history across panels, save snapshots, record sessions and replay them later.
Honest about platform limitsWhere data needs sudo (fans, per-component power, GPU util on Apple Silicon) the tab shows what it can get for free and a one-line note about what’s gated. Nothing is faked, nothing prompts.
// 07 · platform coverage
Platform coverage

Available measurements depend on hardware and permissions. Some fan, power and GPU readings require elevated access. NVIDIA support is an optional gpu-nvidia build feature. Missing readings are not zeroes.

// related