Favicon of nvitop

nvitop

An open-source NVIDIA GPU process monitor for Linux and Windows, with interactive terminal views, Python APIs and Grafana dashboard support.

Screenshot of nvitop website

nvitop is an interactive terminal monitor for NVIDIA GPUs and the processes using them. It runs locally on Linux and Windows and suits people running AI workloads who need to see device usage alongside host process information. The project is open source under Apache 2.0.

Its live view includes bar charts and history graphs, with sorting and filtering to help you find the processes you're interested in. You can inspect a GPU process's parent and child processes in a tree view, check its environment variables, or send it a signal from the monitor. Keyboard and mouse controls support interaction, though mouse support can vary between Windows terminals. A one-time status view is also available.

nvitop queries NVIDIA's NVML interface directly rather than reading the text output of nvidia-smi. It requires NVIDIA hardware supported by NVML and access to that library, which ships with NVIDIA drivers. The Python implementation gathers information asynchronously and caches queries to keep the monitor responsive. It also works over SSH and can run in Docker with NVIDIA container support.

For custom monitoring, its Python APIs collect host, GPU and process metrics and capture device and process status together. nvitop-exporter supports Prometheus and Grafana dashboards, giving server operators a browser view of GPU activity. The included nvisel tool selects GPUs according to supplied criteria and can feed that selection into a training script.

Similar to nvitop