nvitop

Interactive NVIDIA GPU and process monitor in Python with tree view, filtering, signal sending, a CUDA device selector (nvisel), and APIs for custom tools.

install

nvitop is an interactive monitor for NVIDIA GPUs and the processes running on them. It is a terminal tool written in pure Python, and it works as an alternative to nvidia-smi. It shows more information than nvidia-smi, with colorized box-drawing output. Its monitor mode keeps refreshing device and process status instead of printing once.

Monitor mode includes bar charts and history graphs, process sorting and filtering, and a tree-view screen for GPU processes and their parent processes. It also has an environment variable screen for a selected process, a help screen, and mouse support. You can send signals to processes with a keystroke. It queries devices through the NVML Python bindings (nvidia-ml-py) instead of parsing nvidia-smi output. It gets host process data through psutil, caches results with cachetools' TTLCache, renders with curses, and gathers data in multiple threads. It runs on Linux and Windows. On Windows it needs the windows-curses package, and mouse support may be missing in some terminals.

The package also ships nvisel, a CUDA visible devices selection tool aimed at deep learning researchers. It exposes Python APIs (Device, Process, a status snapshot, and a resource metric collector) for building custom monitoring tools, and the README describes low-level Device and Process classes, with Host APIs inherited from psutil. A separate nvitop-exporter component feeds a Grafana dashboard. The repository also includes a Bash script for installing NVIDIA drivers on Ubuntu. The main users are ML researchers, engineers and sysadmins who manage shared GPU machines, including over SSH or in Docker.

Installation

# via uvx
uvx nvitop
# via pipx
pipx run nvitop
# via pip
pip3 install --upgrade nvitop

Monitor

Filter

Comparison

Alternatives & related tools

add a badge to your README

Maintain nvitop? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/nvitop.svg)](https://www.trmn.sh/tools/nvitop?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/nvitop?utm_source=badge"><img src="https://www.trmn.sh/badge/nvitop.svg" alt="Featured on trmn" height="20"></a>