nvmon
A fancy NVIDIA GPU monitor for the terminal. Single Python file, no dependencies.
On a wide terminal, eight GPUs go into two columns:
Install
uv tool install nvmon # or: pipx install nvmon
From GitHub: uv tool install git+https://github.com/Han-DongHeun/nvmon, update with
uv tool upgrade nvmon. On a server without internet, copy nvmon.py over and run it with any
Python 3.6+.
Usage
nvmon # Esc, q or Ctrl+C to quit
nvmon -i 1 # refresh every second (default: 0.5)
nvmon -g 0,2,4-7 # only these GPUs
ssh -t HOST nvmon # over ssh: -t gives it a terminal
What it shows
- GPU: share of time any kernel ran. cores / tensor (H100 and newer): share of SMs busy and Tensor Core activity. A GPU can read 100 % while its cores sit at 30 %.
- MEM, PCIe traffic in each direction against the link's top speed, power, temperature, fan and clock.
- Processes on each GPU, grouped by account (your own unlabelled), script names for Python.
- Warnings only when something is off:
SLOWED: power cap | too hot | hw brakewhen the clock is held back,PCIe DEGRADED: x16 -> x8when the card runs on fewer lanes than it supports.
Notes
- Needs an NVIDIA driver and a truecolor terminal. In tmux, add
set -ag terminal-overrides ",*:RGB"to~/.tmux.conf. - On Windows, run it in Windows Terminal; Git Bash's default window is not a terminal to Python.
License
MIT
Metadata
Release files for nvmon 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nvmon-0.1.0.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nvmon-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.3 kB
Release files / nvmon-0.1.0.tar.gz
| Download URL | nvmon-0.1.0.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
06419fdcf071a495e5b5e6b2ade976b200eb1fbd59c4c9305b38fa11487efd56
|
|
BLAKE2b-256 checksum How to use checksums |
5ca3ee5b5fe44d1a884e46b0deb1b53d6e9dbd31d75da4b342e563a63491f8a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / nvmon-0.1.0-py3-none-any.whl
| Download URL | nvmon-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e85e1c522726fa90e144723bb4f18d4bb73ba88ab78de3e0e6333cb33372b205
|
|
BLAKE2b-256 checksum How to use checksums |
6eb228fd593865e025d909acd5b82f612818899988de2173aa3c916caeb8c4fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency log