- 基于 NVIDIA Management Library (NVIDIA 管理库),实现 NVIDIA GPU 设备的管理和监控功能
- 主要支持 Tesla, GRID, Quadro 以及 TitanX 的产品,有限支持其他的 GPU 产品
所以我们在常见的 NVIDIAGPU 产品上安装完驱动后,都同时安装上 nvidia-smi 管理工具,帮助管理人员通过命令行的方式对 GPU 进行监控和管理。
当我们成功部署了 GRID 软件以后,我们可以通过以下 nvidia-smi 命令实现对 GPU 的管理。
nvidia-smi 会随着 GRID 软件不断的升级,而功能不断的丰富,所以当我们在执行一些复杂的 nvidia-smi 命令时,可能早期的 GRID 版本无法支持这些命令。
以下 nvidia-smi 常用命令行是个人推荐了解的:
nvidia-smi
这是服务器上特斯拉 K80 的信息。
上面的表格中:
第一栏的 Fan:N/A 是风扇转速,从 0 到 100% 之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
第二栏的 Temp:是温度,单位摄氏度。
第三栏的 Perf:是性能状态,从 P0 到 P12,P0 表示最大性能,P12 表示状态最小性能。
第四栏下方的 Pwr:是能耗,上方的 Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的 GPU 应用启动时,花费的时间更少,这里显示的是 off 的状态。
第五栏的 Bus-Id 是涉及 GPU 总线的东西,domain:bus:device.function
第六栏的 Disp.A 是 Display Active,表示 GPU 的显示是否初始化。
第五第六栏下方的 Memory Usage 是显存使用率。
第七栏是浮动的 GPU 利用率。
第八栏上方是关于 ECC 的东西。
第八栏下方 Compute M 是计算模式。
下面一张表示每个进程占用的显存使用率。
显存占用和 GPU 占用是两个不一样的东西,显卡是由 GPU 和显存等组成的,显存和 GPU 的关系有点类似于内存和 CPU 的关系。
nvidia-smi -q
查看当前所有 GPU 的信息,也可以通过参数 i 指定具体的 GPU。
比如 nvidia-smi-q -i 0 代表我们查看服务器上第一块 GPU 的信息。
通过 nvidia-smi -q 我们可以获取以下有用的信息:
GPU 的 SN 号、VBIOS、PN 号等信息:
windows 上的使用
nvidia-smi 所在的位置为:
C:\Program Files\NVIDIA Corporation\NVSMI
cmd 进入目录输入命令即可:
我自己的 1050 显卡,玩 LOL 够用了