This article describes two tools for monitoring Nvidia graphics cards on Linux: one with a terminal user interface (TUI) so it can run in a console, and the other using a graphical user interface.
These utilities for monitoring Nvidia GPUs require the use of a proprietary Nvidia graphics driver.
nvtop-End-user interface for monitoring Nvidia GPUs
nvtop (H) top task monitor for Nvidia GPU. It uses ncurses to draw its text-based user interface in the terminal, and uses the NVIDIA Management Library (NVML) to obtain GPU information.
Because it uses NVML, this command line tool does not support older Nvidia GPUs. GeForce 600, GeForce 800M and newer versions should work, but older GPUs are not supported.
- Supports multiple GPUs
- Shows a list of processes running on the Nvidia GPU, their name, pid, their utilization of the GPU, memory and CPU, etc. These processes can be sorted and terminated from nvtop
- Graph showing GPU and memory utilization
- Display current (active) GPU and memory utilization as well as frequency, fan speed, power consumption and temperature
nvtop was recently added to Ubuntu 19.04+ as well as Debian buster and sid (contrib) repositories. However, if you want to use it with a driver that does not exist in the repository (for example, if you use a newer driver), it will not be installed because it depends on the specific driver version in the repository. In this case, installing it from source is easy.
nvtop readme has Instruction A source code build tool for Debian / Ubuntu, Fedora / RedHat / CentOS, openSUSE and Arch Linux (including required dependencies).
Nvidia System Monitor GUI for Linux
Nvidia System Monitor Is a new graphics tool for viewing a list of processes running on the GPU and monitoring the GPU and memory utilization (using graphics) of the Nvidia graphics card. It uses the nvidia-smi tool to obtain GPU information.
This Nvidia task manager for Linux has only 12 days of use, so it still needs some work. Developers say other features, such as the ability to monitor the temperature of Nvidia GPUs, the ability to make the program available in other languages, and more, will be added in the next release.
Nvidia System Monitor Features:
- Processes: displays a list of processes running on the GPU, including the process name, pid, used memory, etc.
- GPU usage: A graph showing GPU usage, as well as average, minimum, and maximum GPU usage
- Memory utilization: A graph showing the memory utilization of Nvidia GPUs. It also shows the average, minimum and maximum memory utilization. You can also view the total, available and used memory of the GPU here.
By default, the Nvidia System Monitor is updated every 2 seconds (2000 milliseconds). If you want to change this setting, create a file called
~/.config Folder and add
updateDelay The time (in milliseconds) followed by the file. E.g. using
updateDelay 500 Make NVIDIA System Monitor update every 500 milliseconds (0.5 seconds).
To install NVIDIA System Monitor, you need wxgtk3, wxgtk2, and g ++. Git is also installed to get the latest code for the Git application as it contains important fixes and the latest version may not work on any version other than Arch Linux. In Debian, Ubuntu or Linux Mint, install these packages using the following command:
sudo apt install git g++ python-wxgtk3.0-dev libwxgtk3.0-gtk3-dev
To get Nvidia System Monitor from Git, build and install it, use:
git clone https://github.com/congard/nvidia-system-monitor cd nvidia-system-monitor ./make.sh sudo ./install.sh
Since you run the installation script via sudo, make sure to check the installation script before running it!
If you want to uninstall it, use
sudo ./uninstall.sh inside
nvidia-system-monitor table of Contents.