我们使用GPU做计算的时候,想了解GPU的使用情况,但是任务管理器没有GPU的信息。还好NVIDIA提供了相关的命令。
nvidia-smi.exe
这个命令是在路径 C:\Program Files\NVIDIA Corporation\NVSMI
目录下的nvidia-smi.exe
。
nvidia-smi stands for The NVIDIA System Management Interface
我们在该目录下打开powershell
软件,然后输入一下命令:
nvidia-smi.exe -l 10
上述命令表示10秒钟更新一次信息,
-l
stands for-loop
nvidia-smi output 分析
上图是服务器上 GeForce GTX 1050 Ti
的信息,下面一一解读参数。 上面的表格中的红框中的信息与信息对应:
GPU:GPU 编号(即ID);
Name:GPU 型号;
TCC/WDDM:NVIDIA Tesla/Quadro 系列高端 GPU 在 Windows 环境下可以配置为 Tesla 计算集群(Tesla Compute Cluster,简称 TCC)模式或 Windows 显示驱动模型(Windows Display Driver Model,简称 WDDM)模式。两种模式有不同适用场景。
TCC
:该模式下,GPU 完全用于计算,不能作为本地显示输出。WDDM
:该模式下,GPU 既用于计算又用于本地显示输出。
Fan:风扇转速,从0到100%之间变动; 有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温。 N/A 代表 Not Available。
Temp:温度,单位是摄氏度;
Perf:性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
Pwr:Usage/Cap:能耗;
Bus-Id:涉及GPU总线的东西,domain: bus :device.function;
Disp.A:Display Active,表示GPU的显示是否初始化;
Memory Usage:显存使用率;
- Volatile Uncorr. ECC:Error Correcting Code,错误检查与纠正;
- GPU-Util:GPU利用率;
- Compute M:compute mode,计算模式。
Processes:表示每个进程对 GPU 的显存使用率。
关于为什么上面的Processes中GPU Memory Usage会显示为
N/A
(Not Available),原因在于当前GPU处于WDDW
下,NVIDIA Driver没有权限访问这个内容,所以显示N/A
,但是不必慌张,此时GPU依然被使用了,只是不能显示使用率罢了。