Skip to main content

Global nvitop: web-based GPU monitoring dashboard for all your remote servers via SSH

Project description

gnvitop logo

gnvitop

Global nvitop — a web-based GPU monitoring dashboard that monitors all your remote GPU servers from a single page.

PyPI Python License

960cd5fae22199ece06060e7ec8862a4

Like nvitop, but for all your servers at once, displayed as a beautiful web dashboard.

pip install gnvitop
gnvitop

How It Works

  1. Monitors local GPU automatically (no config needed)
  2. Reads your ~/.ssh/config and SSH into each remote server
  3. Runs nvidia-smi to collect GPU stats and per-GPU process/user info
  4. Displays everything in a real-time web dashboard with current user highlight
  5. Auto-refreshes every 30 seconds
graph LR
    A[gnvitop] --> B[Browser]
    B --> C["localhost — Local GPUs"]
    B --> D["Server A — 4x A100"]
    B --> E["Server B — 8x V100"]
    B --> F["Server C — 2x RTX 4090"]
    B --> G["Server D — offline"]

    style A fill:#7c3aed,stroke:none,color:#fff,font-weight:bold
    style B fill:#2563eb,stroke:none,color:#fff
    style C fill:#16a34a,stroke:none,color:#fff
    style D fill:#16a34a,stroke:none,color:#fff
    style E fill:#16a34a,stroke:none,color:#fff
    style F fill:#16a34a,stroke:none,color:#fff
    style G fill:#dc2626,stroke:none,color:#fff

Installation

pip install gnvitop

Usage

gnvitop                              # start and auto-open browser
gnvitop -p 8080                      # custom port
gnvitop --host 0.0.0.0              # expose to LAN
gnvitop --no-browser                 # don't auto-open browser
gnvitop --ssh-config /path/to/config # custom SSH config
gnvitop --tui                        # terminal UI mode (no browser)
gnvitop --tui --tui-refresh 10       # TUI with 10s refresh interval
gnvitop -v                           # show version

Or run as a module:

python -m gnvitop

Prerequisites

  1. SSH config -- your ~/.ssh/config should have server entries:
Host gpu-server-01
    HostName 192.168.1.101
    User alice
    IdentityFile ~/.ssh/id_rsa

Host gpu-server-02
    HostName 192.168.1.102
    User bob

# ProxyJump (bastion/jump host) is fully supported
Host compute-node
    HostName compute-node.internal
    User alice
    ProxyJump bastion-host
  1. SSH key auth -- password-less login should be set up
  2. nvidia-smi -- must be installed on the remote servers

Features

  • Zero config -- reads ~/.ssh/config automatically, no setup needed
  • One command -- pip install gnvitop && gnvitop, that's it
  • Local + Remote -- monitors local GPU alongside all remote servers
  • ProxyJump support -- monitors compute nodes behind bastion/jump hosts (reads ProxyJump from SSH config)
  • Per-GPU users -- shows which users occupy each GPU and their memory usage
  • User highlight -- your own processes are highlighted in blue for quick identification
  • TUI mode -- gnvitop --tui for a terminal UI (like nvitop) without a browser
  • Auto browser -- opens dashboard in your browser on start
  • Adjustable refresh -- choose 5s / 10s / 30s / 5min auto-refresh interval
  • Concurrent -- queries all servers in parallel (20 workers)
  • Fast loading -- background cache warming so the dashboard loads instantly; SSE streaming shows each server as it responds
  • Collapse cards -- fold individual server cards to a compact strip, moved to a separate Folded section
  • Drag to reorder -- drag server cards to arrange them in any order, persisted across reloads
  • Compact / Normal modes -- toggle between full detail and compact views
  • Dark UI -- clean, responsive dark-themed dashboard
  • At a glance -- summary bar shows online hosts, total GPUs, idle GPUs, free memory
  • Color coded -- green (online), yellow (no GPU), red (offline), blue (local)
  • GPU details -- utilization bars, memory bars, temperature with color alerts

Comparison with nvitop

Feature nvitop gnvitop
Monitor local GPU Yes Yes
Monitor remote GPUs No Yes
Multiple servers No Yes
Show per-GPU users Yes Yes
Highlight current user No Yes
Interface Terminal Web browser + Terminal (TUI)
Setup Run on each server Run once, reads SSH config

gnvitop is not a replacement for nvitop -- it's a complement. Use nvitop for detailed local process-level GPU monitoring, use gnvitop to get an overview of all your GPU servers (including local) from one place.

License

MIT

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

gnvitop-0.3.4.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

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

gnvitop-0.3.4-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file gnvitop-0.3.4.tar.gz.

File metadata

  • Download URL: gnvitop-0.3.4.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gnvitop-0.3.4.tar.gz
Algorithm Hash digest
SHA256 96d685d2a8fe3d608ddf05bc58bf8db4a5f30941fd493e907e5ec563ad84f99d
MD5 48a15e4a1580e29304c4b4c1e5b93fb4
BLAKE2b-256 3103fb8fe6b69ba6eff4c51a86eedb4d90ec5fd2641acc6f07d2d5e0fe2121ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for gnvitop-0.3.4.tar.gz:

Publisher: publish.yml on Linwei94/gnvitop

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

File details

Details for the file gnvitop-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: gnvitop-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gnvitop-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f86b13e3461db59e836ebdfe1af323c98f324365a7a191b915949a8053f41818
MD5 24b36d3dfcdc5befc6eed91f3c9e792b
BLAKE2b-256 fa8b9c93a28326a979723899c10604be8420c953530cbc76438038ddd33dc4f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gnvitop-0.3.4-py3-none-any.whl:

Publisher: publish.yml on Linwei94/gnvitop

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