Nvtop stands for NVidia TOP, a (h)top like task monitor for NVIDIA GPUs. It can handle multiple GPUs and print information about them in a htop familiar way.
Because a picture is worth a thousand words:
NVTOP comes with a manpage!
man nvtop
For quick command line arguments help
nvtop -h
nvtop --help
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.
Two libraries are required:
- The NVIDIA Management Library (NVML) which comes with the GPU driver.
- This queries the GPU for information.
- The ncurses library driving the user interface.
- This makes the screen look beautiful.
- NVIDIA drivers (see Ubuntu Wiki or Ubuntu PPA or Debian Wiki)
- CMake, ncurses and git
sudo apt install cmake libncurses5-dev libncursesw5-dev git
- NVTOP
- Follow the NVTOP Build
- NVIDIA drivers, CUDA required for nvml libraries (see RPM Fusion)
- CMake, ncurses and git
sudo dnf install cmake ncurses-devel git
- NVTOP
- Follow the NVTOP Build
- NVIDIA drivers (see SUSE Support Database)
- CMake, ncurses and git
sudo zypper install cmake ncurses-devel git
- NVTOP
- Follow the NVTOP Build
- NVIDIA drivers (see Arch Linux wiki)
- CMake, ncurses and git
sudo pacman -S cmake ncurses git
- NVTOP
- The
nvtop
AUR package - Follow the NVTOP Build
- The
git clone https://github.com/Syllo/nvtop.git
mkdir -p nvtop/build && cd nvtop/build
cmake ..
# If it errors with "Could NOT find NVML (missing: NVML_INCLUDE_DIRS)"
# try the following command instead, otherwise skip to the build with make.
cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True
make
make install # You may need sufficient permission for that (root)
The build system supports multiple build type (e.g. -DCMAKE_BUILD_TYPE=RelWithDebInfo):
- Release: Binary without debug information
- RelWithDebInfo: Binary with debug information
- Debug: Compile with warning flags and address/undefined sanitizers enabled (for development purposes)
- The plot looks bad
- Verify that you installed the wide character version of the NCurses library (libncursesw5-dev for Debian / Ubuntu), clean the build directory and restart the build process
- If you are using Putty, you should consider adding
export NCURSES_NO_UTF8_ACS=1
to your shell initialization script (e.g.~/.bashrc
) or execute nvtop as follows:NCURSES_NO_UTF8_ACS=1 nvtop
Nvtop is licensed under the GPLV3 license or any later version. You will find a copy of the license inside the COPYING file of the repository or at the gnu website <www.gnu.org/licenses/>.