#gpu #monitoring #command-line #real-time #memory #management #interface

bin+lib nvtop

nvtop: An NVIDIA SMI'esk GPU Monitoring tool for your terminal

2 releases

0.1.1 Oct 8, 2023
0.1.0 Oct 8, 2023

#140 in #monitoring

MIT license

71KB
434 lines

NVTOP

img

An NVIDIA SMI'esk GPU Monitoring tool for your terminal.

Contents:

nvtop is a command-line utility that provides a replacement for some of the output from nvidia-smi (System Management Interface). It offers real-time monitoring and visualization of GPU information: Core Clock, Temps, Fanspeed and Memory Usage.


Usage:

# Monitor the GPU and system with a 1-second update interval
nvtop --delay 1000

Prerequisites

Before installing nvtop, ensure that you have Rust and Cargo (the Rust package manager) installed on your system. You can download and install Rust from the official website: Rust Downloads.

You will also need to at least confirm that nvidia-smi (The official NVIDIA tool that this one seeks to mimic) works. Why? Because, not all of the functionality from nvmlt-sys the library this app relies on does not guarantee all reporting functionality across ALL NVIDIA gpus.

Installation

Install from Git

You can install nvtop directly from the Git repository. Follow these steps:

  1. Clone the nvtop repository to your local machine:

    git clone https://github.com/alphastrata/nvtop.git
    
  2. Change to the nvtop directory:

    cd nvtop
    
  3. Build and install nvtop using Cargo:

    cargo install --path .
    

Install from Source

To install nvtop from the source code, you can follow these steps:

  1. Download the source code or clone the repository to your local machine:

    git clone https://github.com/alphastrata/nvtop.git
    
  2. Change to the nvtop directory:

    cd nvtop
    
  3. Build the project using Cargo:

    cargo build --release
    
  4. After building, you can find the nvtop executable in the target/release/ directory.

Install to Path

To make nvtop easily accessible from the command line, you can copy the executable to a directory in your system's PATH. For example, you can copy it to /usr/local/bin:

sudo cp target/release/nvtop /usr/local/bin/

Now, you can use nvtop from anywhere in your terminal.


Why?

because _this:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.113.01             Driver Version: 535.113.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA TITAN RTX               Off | 00000000:0A:00.0  On |                  N/A |
| 41%   44C    P0              67W / 280W |   1367MiB / 24576MiB |      2%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1008      G   /usr/lib/Xorg                               439MiB |
+---------------------------------------------------------------------------------------+

is boring, and this: nvtop

is fun!


Troubleshooting:

If something ain't working please feel free to open an issue, before doing so however, the app has the ability to do some verbose logging (to disk) -- please enable that like so: nvtop --logging

Dependencies

~11–18MB
~233K SLoC