📜  检查 gpu 空闲内存 linux - Shell-Bash (1)

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

检查 GPU 空闲内存 Linux - Shell/Bash

当我们在使用 GPU 进行计算任务时,我们需要确认 GPU 是否有足够的空闲内存。这个问题可以在 Linux 系统下使用 Shell/Bash 解决。本文将介绍一些常用的 Shell/Bash 命令和方法来检查 GPU 空闲内存。

确认 GPU 情况

首先,我们需要使用下面的命令来确认系统中所有 GPU 的情况:

nvidia-smi

这个命令会输出类似下面的内容:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 465.27       Driver Version: 465.27       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  GeForce GTX 1080 Ti  Off  | 00000000:01:00.0 Off |                  N/A |
| 22%   31C    P8    17W / 250W |      0MiB / 11178MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

现在,我们可以看到系统中 GPU 的数量、GPU 名称、温度、功率、内存使用情况等。

检查 GPU 内存

接下来,我们需要使用一些命令来检查 GPU 内存。首先,我们可以使用下面的命令来列出所有 GPU 设备的内存信息:

nvidia-smi --query-gpu=memory.free --format=csv

这个命令会输出每一个 GPU 设备的内存信息,类似下面的内容:

memory.free [MiB]
11178 MiB

这个命令返回的是当前的 GPU 空闲内存(以 MiB 为单位)。

还有一个更详细的命令可以查看每一个 GPU 的内存使用情况。使用下面的命令可以输出当前所有 GPU 的内存使用情况:

nvidia-smi -q -d MEMORY |grep -A 2 "FB Memory Usage" |grep Total

这个命令会输出每一个 GPU 设备的内存使用情况,类似下面的内容:

Total FB memory usage                       :  9.54 GiB

这个命令返回的是当前的 GPU 已占用内存(以 GiB 为单位)。

总结

在本文中,我们介绍了如何使用 Shell/Bash 检查 GPU 空闲内存。我们先使用 nvidia-smi 命令来查看每一个 GPU 的情况,然后使用 nvidia-smi --query-gpu=memory.free --format=csv 命令和 nvidia-smi -q -d MEMORY |grep -A 2 "FB Memory Usage" |grep Total 命令来查询 GPU 的空闲内存和已占用内存。这些命令通常可以满足我们大多数的 GPU 监控需求。