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, including CPU and system memory usage
- Press
Enterto expand/collapse GPU detail rows for a server - Expanded GPU detail row shows per-card user usage (sorted by usage)
- Press
son a selected server row to open an SSH shell (auto-installs your local public key when using password auth) - Dual-pane transfer TUI (
svtop transfer) for local/server browsing, queued rsync transfers, OSS-backed transfers viaossutil cp, and remembered transfer workspace - 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
Open transfer UI:
svtop transfer
Tune transfer task concurrency:
svtop transfer --parallel 4
Use OSS cache for server-to-server transfers (default):
svtop transfer --relay oss
Use the older local rsync staging relay instead:
svtop transfer --relay rsync
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
Transfer mode quick keys
- top bar
Left/Right: chooseLocalor any configured server from a dropdownoss: useossutil cpthroughoss://nralgo/pth/mj/tmp/svtopfor any Local↔Server or Server↔Server transferrsync: use rsync directly for Local↔Server and local staging for Server↔Server
- each pane path bar: paste a local or remote path and press
Enterto jump there - last left/right endpoints, directories, direction, active pane, and relay engine are restored from
~/.svtop/settings.json Tab: switch active pane1/2: cycle left/right endpointd: toggle transfer direction (L -> R/L <- R)Enteror double-click: open highlighted directorySpace: mark/unmark file or directoryF5or clickTransfer: transfer current item or all selected items to the other paneBackspace: go to parent directoryr: refresh pane listing
Remote requirements
- SSH access to each server
nvidia-smiavailable inPATHrsyncavailable locally (and on remote servers when using rsync transfer mode)ossutilconfigured on the local machine and/or remote servers used with OSS transfer mode- if
proxy jump chainis used, localsshcommand 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file svtop-0.1.3.tar.gz.
File metadata
- Download URL: svtop-0.1.3.tar.gz
- Upload date:
- Size: 31.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5d473cac68f283225b657e3c55aea312830a974cbd70631765a34e4153af482
|
|
| MD5 |
4cd51264743bbf1fd9763ba360ec8052
|
|
| BLAKE2b-256 |
b53347106874a4e477d9a81810eaa4f0ad26c5ea86be7254c540b79acc331e32
|
File details
Details for the file svtop-0.1.3-py3-none-any.whl.
File metadata
- Download URL: svtop-0.1.3-py3-none-any.whl
- Upload date:
- Size: 36.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d828d77b13f8b65538ed1883a03a68203440085a98a69a11d25f264c780c2254
|
|
| MD5 |
98b47323ef80341cae2f9ad1408f3d2e
|
|
| BLAKE2b-256 |
af1245bc1832763d497445373ed556c856cb80915d58eeebd28c69ce694ba330
|