nvitop
nvitop is a Python-based GPU monitoring tool that provides an interactive, real-time dashboard for NVIDIA GPUs, replacing nvidia-smi with a more feature-rich curses-based interface. It supports process monitoring, filtering, resource tracking, and includes APIs for custom monitoring tools and a Prometheus exporter for integration with Grafana.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | XuehaiPan/nvitop |
| Owner | XuehaiPan |
| Primary language | Python |
| License | Apache-2.0 — OSI-approved |
| Stars | 7k |
| Forks | 237 |
| Open issues | 20 |
| Latest release | v1.7.0 (2026-05-16) |
| Last updated | 2026-06-22 |
| Source | https://github.com/XuehaiPan/nvitop |
What nvitop is
nvitop queries GPU state via NVIDIA Management Library (NVML) bindings rather than parsing nvidia-smi output, implements multi-threaded asynchronous data collection with TTL caching, and uses curses for efficient terminal rendering. It provides low-level APIs for device/process introspection and includes nvitop-exporter for Prometheus metrics export.
Get the nvitop source
Clone the repository and explore it locally.
git clone https://github.com/XuehaiPan/nvitop.gitcd nvitop# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Verify NVIDIA drivers and NVML runtime are installed and accessible; NVML is bundled with drivers or available via CUDA Toolkit download.
- For non-English locales, ensure terminal supports UTF-8 and wide character rendering (e.g., `en_US.UTF-8`) to avoid display artifacts in curses UI.
- For Docker deployments, confirm `nvidia-docker` or equivalent runtime is configured with `--gpus all` flag to expose NVIDIA devices into containers.
- SSH users may need to configure TERM environment variable (e.g., `TERM=xterm-256color`) for proper color and box-drawing rendering.
- Multi-threaded architecture relies on thread-safe NVML queries; validate compatibility with any custom NVIDIA driver configurations or older hardware.
When to avoid it — and what to weigh
- No NVIDIA GPUs or NVML — nvitop requires NVIDIA hardware and NVIDIA Management Library (NVML) runtime; not applicable to AMD, Intel Arc, or non-GPU workloads.
- Non-interactive Batch Monitoring — If you only need one-off snapshot reporting and not interactive monitoring, nvidia-smi or simpler parsing scripts may be sufficient.
- Windows curses Limitations — While Windows is listed as supported, curses behavior on Windows may be limited or require additional terminal setup; Linux/SSH deployment typically more stable.
- Air-gapped Environments without Python — Requires Python 3.8+, curses/libncursesw, and NVIDIA drivers; may be cumbersome in minimal or air-gapped deployments without package manager access.
License & commercial use
Released under Apache License 2.0 (Apache-2.0), a permissive OSI-approved license allowing commercial use, modification, and distribution with liability/warranty disclaimers and copyright notice preservation.
Apache-2.0 is a permissive open-source license compatible with commercial use. You may use, modify, and distribute nvitop in proprietary or SaaS products provided you retain copyright notices and disclaimers. No patent grant is provided; consult legal counsel for mission-critical deployments.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Strong |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Strong |
| Assessment confidence | High |
No security vulnerabilities or exploits described in provided data. General considerations: nvitop runs with privileges of invoking user and can access GPU device files and process information; use standard OS-level privilege controls. Uses curses for terminal I/O; no network exposure in default mode. nvitop-exporter exposes metrics endpoints; apply standard HTTP authentication/firewall rules in production. Dependencies (nvidia-ml-py, psutil, cachetools) should be kept updated.
Alternatives to consider
nvidia-smi
Official NVIDIA tool; lightweight and pre-installed with drivers. Lacks interactive monitoring, colored output, and APIs; suitable only for one-off queries.
gpustat
Lightweight Python alternative with colored output and some interactivity. Fewer features (no tree-view, filtering, or exporter); simpler but less capable than nvitop.
nvtop (C implementation)
High-performance C-based GPU monitor; more efficient than Python. Requires compilation; no Python APIs or Prometheus exporter; primarily Linux-focused.
Build on nvitop with DEV.co software developers
Deploy nvitop for interactive GPU monitoring, or integrate nvitop-exporter with Prometheus/Grafana for fleet-wide metrics. Install via pip and start monitoring in seconds.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
nvitop FAQ
Does nvitop work on non-NVIDIA GPUs?
Can I use nvitop in a container without nvidia-docker?
How does nvitop-exporter differ from the interactive monitor?
What Python versions are supported?
Software development & web development with DEV.co
DEV.co helps companies turn open-source tools like nvitop into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source observability stack.
Monitor Your NVIDIA GPUs Effectively
Deploy nvitop for interactive GPU monitoring, or integrate nvitop-exporter with Prometheus/Grafana for fleet-wide metrics. Install via pip and start monitoring in seconds.