nvitop
An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.
What it is and what it does
nvitop is an interactive terminal monitor for NVIDIA GPU devices and processes. It displays real-time GPU utilization, memory usage, and process information with a colorful, continuously-updating interface—going beyond what nvidia-smi offers by adding tree-view, filtering, sorting, and the ability to send signals to processes from the keyboard. It queries device status directly via nvidia-ml-py (NVML Python bindings) rather than parsing nvidia-smi output, making it more efficient and responsive to user input.
Beyond monitoring, nvitop provides a programmatic API for developers to build custom GPU monitoring tools, plus a CUDA device selection utility called nvisel for researchers. It works on both Linux and Windows, using psutil for cross-platform process information and curses for terminal rendering. Installation is straightforward via pip or conda, though it requires the NVIDIA driver and NVML library to be present on the system.
Use it for:
- Monitor GPU utilization and memory in real time while training deep learning models, with the ability to kill runaway processes.
- Diagnose which processes are consuming GPU resources on a shared multi-user system or cluster.
- Build custom GPU monitoring dashboards or exporters (e.g., Grafana integration via nvitop-exporter) for infrastructure monitoring.
- Select and configure CUDA_VISIBLE_DEVICES for multi-GPU workloads using the nvisel tool.
- Query GPU and process status programmatically in Python scripts without shelling out to nvidia-smi.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Interactive terminal-based viewer for NVIDIA GPU processes and device status, with monitoring, filtering, and process management capabilities.
Yes. nvitop is actively maintained, has no known vulnerabilities, and offers a clear improvement over nvidia-smi for interactive GPU monitoring. Install friction is low, and the dual license (Apache-2.0 / GPL-3.0) is standard for open-source tools. The main prerequisite—NVIDIA driver and NVML—is external to the package and expected in any GPU-enabled environment. Recommended for anyone managing NVIDIA GPUs on Linux or Windows.
Install
nvitop on PyPI
pip
pip install nvitopuv
uv add nvitoppoetry
poetry add nvitopInstalling nvitop
Before you install
Low install friction with pure Python distribution. Active maintenance with recent release (35 days ago) and strong community engagement (7101 stars). Requires NVIDIA driver and NVML library on the system, but no compiled dependencies in the package itself.
License in practice
Dual-licensed under Apache-2.0 and GPL-3.0-only (copyleft). Users must comply with GPL-3.0 terms if they modify or redistribute the package; commercial use is permitted under Apache-2.0 terms for unmodified distributions.
Quickstart
pip install nvitop
# Run interactive monitor
nvitop
# Or use as a library
from nvitop import Device
devices = Device.all()
for device in devices:
print(device)
Requires NVIDIA Management Library (NVML) installed via NVIDIA driver or CUDA Toolkit; Python 3.8+; on Windows, curses support depends on windows-curses package.
Verify before relying
- Whether the package's API for custom monitoring tools is stable and well-documented beyond the ReadTheDocs reference.
- Performance characteristics when monitoring many GPU processes simultaneously or on systems with multiple GPUs.
- Compatibility details with different terminal emulators on Windows beyond the noted inconsistencies.
Package facts
| License | Apache-2.0 AND GPL-3.0-only (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — nvidia-ml-py, psutil, colorama, windows-curses |
| Maintenance | actively maintained — 35 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 466,607/month — #6,503 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nvitop-1.7.1-py3-none-any.whl
Keywords: nvidia, nvidia-smi, NVIDIA, NVML, CUDA, GPU, top, monitoring
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
gpustatDisplays real-time NVIDIA GPU status, memory…
permissive · top 5,000 on PyPI
GlancesGlances is a cross-platform system monitoring…
copyleft · top 15,000 on PyPI
GPUtilGPUtil queries NVIDIA GPU status and…
permissive · top 15,000 on PyPI
nvgpuQueries and monitors NVIDIA GPUs on a machine,…
permissive · top 15,000 on PyPI
egl-probeDetects and enumerates available graphics…
unclear · top 15,000 on PyPI
py3nvmlProvides Python 3 bindings to query NVIDIA GPU…
permissive · top 15,000 on PyPI
nvidia-ml-py3Provides Python bindings to NVIDIA's Management…
permissive · top 15,000 on PyPI
nvidia-ml-pyPython wrapper around NVIDIA's Management…
permissive · top 5,000 on PyPI
nvidia-cuda-cuptiProvides CUDA profiling runtime libraries that…
unclear · top 1,000 on PyPI
nvidia-cuda-runtime-cu12Provides NVIDIA CUDA 12 runtime native…
unclear · top 1,000 on PyPI