explaingit

syllo/nvtop

10,642CAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

NVTOP is a terminal dashboard for monitoring GPU usage, memory, temperature, and power draw in real time, similar to htop for CPUs, supporting NVIDIA, AMD, Intel, Apple, and other GPU vendors.

Mindmap

mindmap
  root((NVTOP))
    What it does
      Monitor GPU usage
      Show memory and power
      Track GPU processes
    Supported hardware
      NVIDIA
      AMD
      Intel
      Apple M1 and M2
    Installation
      apt or dnf package
      Build from source
      Snap or AppImage
    Features
      Multi-GPU dashboard
      Configurable layout
      Save preferences
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Monitor GPU memory and utilization in real time while training AI models to catch memory leaks or underutilization.

USE CASE 2

See which processes are consuming GPU resources on a shared server to diagnose slowdowns or conflicts.

USE CASE 3

Watch power draw and temperature across multiple GPUs simultaneously during a long compute job.

USE CASE 4

Install a lightweight GPU monitor on a headless Linux server without needing a graphical desktop environment.

Tech stack

CCMakeLinux

Getting it running

Difficulty · easy Time to first run · 5min

Process-level monitoring requires a minimum kernel version or driver version specific to each GPU vendor.

In plain English

NVTOP is a terminal-based monitoring tool for GPUs and AI accelerators, similar in spirit to the htop utility that Linux users use to watch CPU and memory usage. Instead of showing CPU processes, it shows what is running on your graphics card: how much of the GPU is being used, how much memory it is consuming, temperature, power draw, and which programs are using it. The tool supports a wide range of hardware from multiple vendors, including AMD, Apple (M1 and M2 with limited support), Huawei Ascend, Intel, NVIDIA, Qualcomm Adreno, Broadcom VideoCore, Rockchip, and several specialized AI accelerator brands. It can display information for multiple GPUs at the same time. NVTOP runs in a terminal window and displays a live-updating dashboard with per-process GPU usage. It has a built-in setup window accessible by pressing F2, where you can configure what information is shown and how the layout looks. Preferences can be saved so they load automatically the next time you run the program. A manual page is included for reference. Installing it on Linux is straightforward: most major distributions package it directly, so a single apt, dnf, or pacman command is enough. Snap, AppImage, and conda-forge options are also available. For systems without a package manager or for building from source, the README includes instructions using CMake. Docker and WSL2 setups are covered as well. Each GPU vendor section in the README notes which kernel version or driver library is required for process-level monitoring to work, since some features depend on interfaces that were added in specific Linux kernel releases. The project is written in C and released under an open-source license.

Copy-paste prompts

Prompt 1
I'm running nvtop on a Linux server with two NVIDIA GPUs. How do I use the F2 setup panel to display memory and temperature side by side?
Prompt 2
I need to log GPU utilization to a file every 30 seconds during a training run. Can nvtop do this, or what tool should I add alongside it?
Prompt 3
Walk me through building nvtop from source using CMake on a Debian system that doesn't have it in the package manager.
Prompt 4
Show me how to run nvtop inside a Docker container with the right device permissions to see the host GPU.
Open on GitHub → Explain another repo

← syllo on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.