Skip to main content

A lightweight Rich terminal monitor for AMD ROCm GPUs.

Project description

roctop

roctop is a small AMD ROCm GPU monitor. It shows GPU VRAM usage, utilization, type, temperature, fan, power, clocks, live system/GPU graphs, and GPU processes in a refreshing terminal UI.

Demo

roctop demo

The demo is rendered from synthetic data; process names, PIDs, users, and metrics are placeholders.

Features

  • GPU overview: compact table for every ROCm GPU with GUID, standardized model, architecture, temperature, fan status, power draw, SCLK/MCLK clocks, VRAM usage, and utilization.
  • Readable utilization bars: memory and GPU utilization are shown as inline bars with percentage labels and threshold colors, making idle, busy, and saturated devices easy to scan.
  • Live history graphs: split graph panel tracks average host CPU, host memory, GPU utilization, and GPU memory usage over the recent refresh window.
  • Process visibility: process table shows GPU index, PID, user, GPU memory, GPU memory percent, host CPU/memory percent, elapsed runtime, and full wrapped command lines.
  • Interactive process navigation: move through processes with j/k or arrow keys, page through long lists, toggle process tree view, keep the selected process visible across refreshes, and sort by GPU, memory, CPU, PID, user, time, or command.
  • Popup details and help: i opens selected process details from the current snapshot and /proc, while ? opens an in-app keybinding reference. Both popups support arrow keys and h/j/k/l navigation.
  • Safe process actions: x opens a high-contrast confirmation menu with Cancel, SIGTERM, and SIGKILL choices, plus status messages for missing processes, permission errors, and other failures.
  • Robust data collection: combines rocm-smi GPU snapshots, amd-smi process process memory data, and ps process metadata, with fallbacks when process-specific data is missing or malformed.
  • Script-friendly modes: --once renders a single terminal snapshot, --json prints normalized snapshot data, and --interval controls live refresh cadence.

Install

roctop expects ROCm command-line tools on PATH: rocm-smi is required, and amd-smi is used when available for richer per-process memory data.

From GitHub:

python3 -m venv --system-site-packages .venv
.venv/bin/python -m pip install "git+https://github.com/nrhevu/roctop.git"
export PATH="$PWD/.venv/bin:$PATH"

From a local checkout:

python3 -m venv --system-site-packages .venv
.venv/bin/python -m pip install -e .
export PATH="$PWD/.venv/bin:$PATH"

Usage

roctop
roctop --interval 0.5
roctop --once
roctop --json
roctop --version
python -m roctop --once

Live Controls

j/k or Up/Down    move process cursor
PgUp/PgDn         scroll processes
s                 open sort menu
t                 toggle process tree
p                 jump to parent process in tree view
h/Left, l/Right   jump to previous/next sibling in tree view
/                 search processes
n/N               next/previous search match
f                 filter visible processes
i                 show selected process details
x                 kill selected process with confirmation
?                 open/close help
q or Ctrl-C       quit

Popup Controls

j/k or Up/Down      scroll help or process info
h/l or Left/Right   page help or process info
? or Esc            close help
i or Esc            close process info
h/l or arrows       move sort or kill menu selection
Enter               apply selected sort or kill option
y                   send SIGTERM in kill confirmation
Esc or q            cancel menus

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roctop-0.3.2.tar.gz (59.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

roctop-0.3.2-py3-none-any.whl (37.4 kB view details)

Uploaded Python 3

File details

Details for the file roctop-0.3.2.tar.gz.

File metadata

  • Download URL: roctop-0.3.2.tar.gz
  • Upload date:
  • Size: 59.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for roctop-0.3.2.tar.gz
Algorithm Hash digest
SHA256 f874372e91902c49582d6c7cd3c2d28b0edd260e3cf407f165b6a733ffd1439a
MD5 e3eb4c891e3ae5e99c70b09dff505833
BLAKE2b-256 bf3ef1b2e6e16c3e71d0a2bba222fca119b185dd00723244457750ebbd5045d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for roctop-0.3.2.tar.gz:

Publisher: build_whl_and_publish.yaml on nrhevu/roctop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file roctop-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: roctop-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 37.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for roctop-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b20a822b39d4f5f1183ed51ef2c086ba542e56db39b715b8c0639b2123d59ab
MD5 487bb13436227122ba991fb5acc12c47
BLAKE2b-256 fdc0300988fed28c25f6b68c8571c9f9cd8aab59aff784f6b80b1a5a1eab184b

See more details on using hashes here.

Provenance

The following attestation bundles were made for roctop-0.3.2-py3-none-any.whl:

Publisher: build_whl_and_publish.yaml on nrhevu/roctop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page