nvidia-smi命令解读

一、参考资料

nvidia-smi 命令解读
GPU之nvidia-smi命令详解

二、相关介绍

Mon Jul 20 15:27:24 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50       Driver Version: 430.50       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1070    Off  | 00000000:01:00.0  On |                  N/A |
| 35%   63C    P2   105W / 230W |   7973MiB /  8116MiB |     75%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2313      G   /usr/lib/xorg/Xorg                            18MiB |
|    0      2352      G   /usr/bin/gnome-shell                          50MiB |
|    0      5551      G   /usr/lib/xorg/Xorg                           202MiB |
|    0      5694      G   /usr/bin/gnome-shell                         174MiB |
|    0      5732      G   /usr/lib/firefox/firefox                       3MiB |
|    0      7010      G   ...017.1.5/pycharm-2017.1.5/jre64/bin/java    15MiB |
|    0      9020      G   /usr/lib/firefox/firefox                       3MiB |
|    0     15575      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files   225MiB |
|    0     23339      G   goldendict                                     3MiB |
|    0     31446      C   ...oyo/anaconda3/envs/django_22/bin/python  7271MiB |
+-----------------------------------------------------------------------------+

nvidia-smi命令解读_第1张图片

这是服务器上特斯拉K80的信息。
NVIDIA-SMI 430.50 驱动版本
Driver Version: 430.50 驱动版本
CUDA Version: 10.1 该驱动推荐的CUDA版本
上面的表格中:

  • GPU Name:GPU的名称;
  • Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能达不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的);、
  • Temp:温度,单位摄氏度;
  • Perf:GPU的性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
  • Persistence-M:GPU持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态;
  • Pwr:Usage/Cap(实际功率/额定功率),GPU能耗;
  • Bus-Id:涉及GPU总线的东西;
  • Disp.A:Display Active,表示GPU的显示是否初始化;
  • Memory-Usage:显存使用率,往往是模型的大小以及batch size 的大小决定的;
  • Volatile Uncorr. ECC:关于ECC的东西;
  • GPU-Util:GPU利用率,往往跟代码有关,有较多的IO运算、CPU运算会导致GPU利用率变低;
  • Compute M:GPU的计算模式;

三、显存与GPU

显存使用率和GPU使用率是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。我跑caffe代码的时候显存占得少,GPU占得多,师弟跑TensorFlow代码的时候,显存占得多,GPU占得少。

当没有设置好CPU的线程时,Volatile GPU-Util 参数是在反复跳动的,0%,20%,70%,95%,0%。这样停息1-2秒,然后又重复起来。这是因为GPU在等待数据从CPU传输过来,当从总线传输到GPU之后,GPU开始计算,GPU的利用率突然升高。但GPU的算力很强大,所以GPU利用率接下来又会降下来,等待下一个batch的传入。

因此,GPU的利用率瓶颈在内存带宽和内存介质上以及CPU的性能上面。最直接的解决办法,就是更换更好的四代或者更强大的内存条,配合更好的CPU。

四、可能出现的问题

nvidia-smi 不是内部或外部命令

nvidia-smi显示不是内部或外部命令也不是可运行的程序

```text
错误原因:
nvidia-smi没有加入到系统环境变量中

解决办法
把 C:\Program Files\NVIDIA Corporation\NVSMI
添加到path环境变量中,再重新打开cmd窗口
```

你可能感兴趣的:(运维,GPU)