📜  nvidea gpu ustilisation 命令行 (1)

📅  最后修改于: 2023-12-03 14:44:50.121000             🧑  作者: Mango

使用 nvidia-smi 工具查看 GPU 使用情况

在深度学习领域中,使用 GPU 进行计算已经成为了常态,而如何有效地管理和监控 GPU 的使用情况也成为了每一个开发者必须掌握的一项技能。

在 NVIDIA 提供的驱动和 CUDA Toolkit 中,有一个名为 nvidia-smi 的命令行工具,它是一种用来监控 NVIDIA GPU 使用情况的工具。本文将向大家介绍如何使用 nvidia-smi 这个工具来获取 GPU 的使用情况。

安装

nvidia-smi 是 NVIDIA 官方提供的命令行工具,因此只需要安装好 NVIDIA 的驱动和 CUDA Toolkit 就能够使用。在 Ubuntu 系统中,只需要执行以下命令即可安装:

sudo apt-get update
sudo apt-get install nvidia-cuda-toolkit

在安装完成后,就可以通过命令行来使用 nvidia-smi 工具了。以下是一些常见的用法:

查看所有 GPU 的使用情况

使用以下命令可以查看所有 GPU 的使用情况:

nvidia-smi

该命令会返回类似以下的输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 465.19.01    Driver Version: 465.19.01    CUDA Version: 11.3     |
|-------------------------------+----------------------+----------------------+
| 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:17:00.0 Off |                  N/A |
| 41%   40C    P8    26W / 280W |    479MiB / 24268MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA TITAN RTX    Off  | 00000000:65:00.0 Off |                  N/A |
| 41%   38C    P8    24W / 280W |    479MiB / 24268MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

其中,第一列是 GPU 的编号,第二列是 GPU 的名称,第三列是 GPU 的状态信息。

查看单个 GPU 的使用情况

使用以下命令可以查看某个 GPU 的使用情况:

nvidia-smi -i <GPU_ID>

其中,<GPU_ID> 是要查看的 GPU 的编号。例如,以下命令可以查看第一块 GPU 的使用情况:

nvidia-smi -i 0
查看指定 GPU 的使用情况并按照 GPU 利用率排序

使用以下命令可以查看指定 GPU 的使用情况,并按照 GPU 利用率排序:

nvidia-smi --query-gpu=utilization.gpu,index,memory.used,temperature.gpu --format=csv,noheader | sort -rn

该命令会返回类似以下的输出:

27,1,3618 MiB,43
23,0,3442 MiB,39

其中,第一列是 GPU 的利用率,第二列是 GPU 的编号,第三列是 GPU 的内存使用情况,第四列是 GPU 的温度。

查看 GPU 进程

使用以下命令可以查看当前使用 GPU 的进程:

nvidia-smi pmon -c 1

该命令会返回类似以下的输出:

# gpu        pid  type    sm   mem   enc   dec   Command
# Idx          #   C/G     %     %     %     %   Name
    0      15320     C   100    77     0     0   python
    1      15671     C   100    77     0     0   python

其中,第一列是 GPU 的编号,第二列是进程的 PID,第四列是 SM 利用率,第五列是内存利用率,第六列和第七列是编码和解码的利用率,最后一列是进程的名称。

结语

通过以上介绍,大家已经可以使用 nvidia-smi 工具来监控 GPU 的使用情况了。对于一些复杂的应用场景,还有更多选项和用法,可以通过 nvidia-smi --help-query-gpu 命令来查看。