📅  最后修改于: 2023-12-03 14:55:42.076000             🧑  作者: Mango
当我们在使用 GPU 进行计算任务时,我们需要确认 GPU 是否有足够的空闲内存。这个问题可以在 Linux 系统下使用 Shell/Bash 解决。本文将介绍一些常用的 Shell/Bash 命令和方法来检查 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 设备的内存信息:
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 监控需求。