A terminal system monitor for Windows and Linux. Displays CPU, memory, disk, network, GPU, and processes in a single screen.
Requires a recent Rust toolchain.
cargo build --release
The binary is placed at target/release/ztop.
NVIDIA live statistics (usage, VRAM, temperature) are provided through
nvml-wrapper and enabled by default. To build without that dependency,
pass --no-default-features. Adapter enumeration via wgpu is always
enabled.
q Esc Ctrl-C Quit
↑ ↓ Move selection
PgUp PgDn Page up / down
Home End Jump to top / bottom
← → Scroll the name column
Mouse wheel + click Supported
s Cycle sort key (CPU → memory → PID → time → name)
r Reverse sort
t Toggle tree view
c Cycle category (all → system → user → startup → other)
/ Search Use n / N to step through matches
\ Filter Updates as you type
F9 / k Kill the selected process (confirms before sending)
F8 Send a signal by number (9, 15, 1, 2, …)
F7 Renice
Inside a prompt, Enter commits and Esc cancels.
- Renice currently reports
N/Aon both platforms. Windows usesSetPriorityClassrather than the POSIX nice scale, and the Linux side has not been wired up. The systemrenicecommand can be used as a workaround. - Load average is hidden on Windows. The kernel does not expose one.
- GPU temperature is available only for NVIDIA cards through NVML.
AMD, Intel, and integrated graphics report
N/A, as there is no driver-agnostic source. - Process CPU% follows the htop convention:
100%represents one fully utilised core, so multi-threaded processes may exceed100%. Task Manager normalises against total system CPU, which is the source of the difference.
Released under the MIT License. See LICENSE for the full text.
