SkillAgentSearch skills...

Nvtop

GPU & Accelerator process monitoring for AMD, Apple, Huawei, Intel, NVIDIA and Qualcomm

Install / Use

/learn @Syllo/Nvtop
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

NVTOP

What is NVTOP?

NVTOP stands for Neat Videocard TOP, a (h)top like task monitor for GPUs and accelerators. It can handle multiple GPUs and print information about them in a htop-familiar way.

Currently supported vendors are AMD (Linux amdgpu driver), Apple (limited M1 & M2 support), Huawei (Ascend), Intel (Linux i915/Xe drivers), NVIDIA (Linux proprietary divers), Qualcomm Adreno (Linux MSM driver), Broadcom VideoCore (Linux v3d driver), Rockchip, MetaX (MXSML driver), Enflame (Linux EFML driver).

Because a picture is worth a thousand words:

NVTOP interface

Table of Contents

NVTOP Options and Interactive Commands

Interactive Setup Window

NVTOP has a builtin setup utility that provides a way to specialize the interface to your needs. Simply press F2 and select the options that are the best for you.

NVTOP Setup Window

Saving Preferences

You can save the preferences set in the setup window by pressing F12. The preferences will be loaded the next time you run nvtop.

NVTOP Manual and Command line Options

NVTOP comes with a manpage!

man nvtop

For quick command line arguments help

nvtop -h
nvtop --help

GPU Support

AMD

NVTOP supports AMD GPUs using the amdgpu driver through the exposed DRM and sysfs interface.

AMD introduced the fdinfo interface in kernel 5.14 (browse kernel source). Hence, you will need a kernel with a version greater or equal to 5.14 to see the processes using AMD GPUs.

Support for recent GPUs are regularly mainlined into the linux kernel, so please use a recent-enough kernel for your GPU.

Intel

NVTOP supports Intel GPUs using the i915 or xe linux driver.

Intel introduced the fdinfo interface in kernel 5.19 (browse kernel source). Hence, you will need a kernel with a version greater or equal to 5.19 to see the processes using Intel GPUs.

Intel requires CAP_PERFMON or CAP_SYS_ADMIN capabilities to access the total memory usage, you can run sudo setcap cap_perfmon=ep nvtop to grant the necessary permissions or run nvtop as root.

NVIDIA

The NVML library does not support some of the queries for GPUs coming before the Kepler microarchitecture. Anything starting at GeForce 600, GeForce 800M and successor should work fine. For more information about supported GPUs please take a look at the NVML documentation.

Adreno

NVTOP supports Adreno GPUs using the msm linux driver.

msm introduced the fdinfo interface in kernel 6.0 (browse kernel source). Hence, you will need a kernel with a version greater or equal to 6.0 to see the processes using Adreno GPUs.

Apple

NVTOP includes some initial support for Apple using Metal. This is only supported when building for Apple, and when building for Apple only this vendor is supported.

APPLE SUPPORT STATUS

  • Apple support is still being worked on. Some bugs and limitations may apply.

Ascend

NVTOP supports Ascend (testing on Altas 800 (910B)) by DCMI API (version 6.0.0).

Currently, the DCMI only supports limited APIs, missing PCIe generation, tx/rx throughput info, max power draw etc.

VideoCore

NVTOP supports VideoCore (testing on raspberrypi 4B).

Supports GPU frequency, temperature, utilization, per-process utilization, GPU memory usage, and H264 decoding utilization.

On non-raspberry pi os, you need to use the linux-rpi 6.12.y kernel and above, and ensure the presence of the /dev/vcio device.

Rockchip

NVTOP supports Rockchip (testing on orangepi 5 plus).

Supports NPU frequency, temperature, utilization.

MetaX

NVTOP supports MetaX (testing on MXC500) by MXSML LIBRARY.

For more information about GPUs please take a look at the METAX documentation

Enflame

NVTOP supports Enflame GCUs (testing on Enflame S60, Enflame L300 and Enflame L600) by EFML LIBRARY

GCU, which refers to General Compute Unit, is a type of accelerator card that is used to perform general-purpose computing tasks just like GPGPU.

Build

Several libraries are required in order for NVTOP to display GPU info:

  • The ncurses library driving the user interface.
    • This makes the screen look beautiful.
  • For NVIDIA: the NVIDIA Management Library (NVML) which comes with the GPU driver.
    • This queries the GPU for info.
  • For AMD: the libdrm library used to query AMD GPUs through the kernel driver.
  • For METAX: the MetaX System Management Library (MXSML) which comes with the GPU driver.
    • This queries the GPU for info.
  • For Enflame: the Enflame Management Library (EFML) which comes with the GCU driver.

Distribution Specific Installation Process

Ubuntu / Debian

If your distribution provides the snap utility, follow the snap installation process to obtain an up-to-date version of nvtop.

A standalone application is available as AppImage.

Ubuntu Focal (20.04), Debian buster (stable) and more recent

sudo apt install nvtop

Ubuntu PPA

A PPA supporting Ubuntu 20.04 and newer is provided by Quentin Lienhardt that offers an up-to-date version of nvtop, enabled for NVIDIA, AMD and Intel.

sudo add-apt-repository ppa:quentiumyt/nvtop
sudo apt install nvtop

Older

  • AMD and Intel Dependencies

    sudo apt install libdrm-dev libsystemd-dev
    # Ubuntu 18.04
    sudo apt install libudev-dev
    
  • NVIDIA Dependency

  • NVTOP Dependencies

    • CMake, ncurses and Git
    sudo apt install cmake libncurses5-dev libncursesw5-dev git
    
  • NVTOP

Fedora / Red Hat / CentOS

A standalone application is available as AppImage.

Fedora 36 and newer

  • sudo dnf install nvtop
    

Red Hat Enterprise Linux 8 and 9

  • sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %{rhel}).noarch.rpm
    sudo dnf install nvtop
    

CentOS Stream, Rocky Linux, AlmaLinux

  • sudo dnf install -y epel-release
    sudo dnf install nvtop
    

Build process for Fedora / Red Hat / CentOS:

  • AMD and Intel Dependencies

    sudo dnf install libdrm-devel systemd-devel
    
  • NVIDIA Dependency

    • NVIDIA drivers, CUDA required for nvml libraries (see RPM Fusion)
  • NVTOP Dependencies

    • CMake, ncurses, C++ and Git
    sudo dnf install cmake ncurses-devel git gcc-c++
    
  • NVTOP

OpenSUSE

A standalone application is available as an AppImage.

Build process for OpenSUSE:

  • AMD Dependency

    sudo zypper install libdrm-devel
    
  • NVIDIA Dependency

  • NVTOP Dependencies

    • CMake, ncurses and Git
      sudo zypper install cmake ncurses-devel git
      
  • NVTOP

Arch Linux

  • sudo pacman -S nvtop
    

Gentoo

  • sudo emerge -av nvtop
    

AppImage

An AppImage is a standalone application. Just download the AppImage, make it executable and run it!

  • Go to the release page and download nvtop-x86_64.AppImage

  • # Go to the download location ** The path may differ on your system **
    cd $HOME/Downloads
    # Make the AppImage executable
    chmod u+x nvtop-x86_64.AppImage
    # Enjoy nvtop
    ./nvtop-x86_64.AppImage
    

If you are curious how that works, please visit the AppImage website.

Snap

  • snap install nvtop
    # Add the capability to kill processes inside nvtop
    snap connect nvtop:process-control
    # Add the capability to inspect GPU information (fan, PCIe, power, etc)
    snap connect nvtop:hardware-observe
    # AMD
    

Related Skills

View on GitHub
GitHub Stars10.3k
CategoryOperations
Updated3h ago
Forks377

Languages

C

Security Score

85/100

Audited on Mar 21, 2026

No findings