Skip to main content

A pragmatic TUI for monitoring multi-server NVIDIA GPU utilization

Project description

svtop

svtop is a pragmatic TUI command for monitoring NVIDIA GPU usage across multiple servers.

Design goals inspired by Linus-style pragmatism:

  • one job: show GPU health clearly
  • simple state storage: ~/.svtop/servers.json + ~/.svtop/settings.json
  • no mystery services, no daemon, no lock-in

Features

  • Multi-server polling over SSH
  • Real-time TUI table with per-server aggregate rows
  • Press Enter to expand/collapse GPU detail rows for a server
  • Expanded GPU detail row shows per-card user usage (sorted by usage)
  • Press s on a selected server row to open an SSH shell (auto-installs your local public key when using password auth)
  • Color-coded GPU and temperature severity for quick scanning
  • First-run setup flow
  • Editable server profiles via svtop config
  • Per-server proxy jump chain (different server can use different bastion chain)
  • Two auth paths:
    • plaintext password
    • one-key-copy bootstrap (copy-key) to install your local SSH public key remotely

Install

pip install svtop

For local development:

pip install -e .

Usage

Run monitor:

svtop

or:

svtop run --interval 2.5

If your network is slower (or via bastion/proxy jump), increase probe timeout:

svtop run --timeout 15

Open configuration menu:

svtop config

List configured servers:

svtop list

When using password auth, pressing s first tries to install your local public key on the remote host, then switches that profile to key auth automatically. If no password is saved, it will ask once in terminal (leave empty to skip), and then continue with normal password login for that session.

When adding/editing a server profile, you can set:

  • Proxy jump chain (comma-separated user@host[:port])

Examples:

  • one bastion: ops@jump-a
  • multi-hop chain: ops@jump-a,core@jump-b:2222

Remote requirements

  • SSH access to each server
  • nvidia-smi available in PATH
  • if proxy jump chain is used, local ssh command must be available

Security note

If you choose password auth, the password is stored in plaintext in ~/.svtop/servers.json (mode 600). Prefer copy-key and SSH key auth for long-term use.

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

svtop-0.1.2.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

svtop-0.1.2-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file svtop-0.1.2.tar.gz.

File metadata

  • Download URL: svtop-0.1.2.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for svtop-0.1.2.tar.gz
Algorithm Hash digest
SHA256 06b5cfdc740b13f2a73fb1fcb111e92e283641a90d7cfdc1f070c94328426a88
MD5 484f375734dfcfabe0d2838498932322
BLAKE2b-256 c638ee75946c2fcca0884ba63d23aaa9575b1e0692e0e5bc1afd1c2243f0a227

See more details on using hashes here.

File details

Details for the file svtop-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: svtop-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for svtop-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 371175e5fbb3f1ee40fc05c5c29fd09a9de7cb275c4999df14af1996edfb1aa4
MD5 8d8be634e64e1be7f9fc7415c53f6fd3
BLAKE2b-256 38dad9bce6d665e7fd244ae25ad3b8b350cd771106e2ebff5dd0c448db460c7a

See more details on using hashes here.

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