欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nvidia-smi查看GPU的使用信息并分析

程序员文章站 2024-02-26 22:02:22
...

登入服务器后,输入命令(注意中间无空格):

nvidia-smi

nvidia-smi查看GPU的使用信息并分析

或者可以使用命令(可以自动实时刷新GPU的使用情况):

nvidia-smi -l

如果要周期性地输出显卡的使用情况,可以用watch指令实现(命令行参数-n,后边跟的是执行命令的周期,以s为单位。所以下面的命令表示,每10s刷新一下显示):

watch -n 10 nvidia-smi

上图显示的显卡信息,第一行是版本信息,第二行是标题栏,第三行是具体的显卡信息。如果有多个显卡,就会有多行对应标题栏的信息。例如我上面显示了共0~4号,共5个卡。

  • GPU:显卡编号,从0开始。
  • Fan:风扇转速,在0~100%之间变动。这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能就不会显示具体转速值。有的设备不会返回转速,因为它不依赖风扇冷却,而是通过其他外设保持低温,比如我们实验室的服务器是常年放在空掉房间里面的。
  • Name:显卡名,以上都是Tesla。
  • Temp:显卡内部的温度,以上分别是54、49、46、50、39摄氏度。
  • Perf:性能状态,从P0到P12,P0性能最大,P12最小 。
  • Persistence-M:持续模式的状态开关,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少。以上都是Off的状态。
  • Pwr:能耗表示。
  • Bus-Id:涉及GPU总线的相关信息。
  • Disp.A:是Display Active的意思,表示GPU的显示是否初始化。
  • Memory-Usage:显存的使用率
  • GPU-Util:GPU的利用率
  • Compute M.:计算模式。
  • 下面的Process显示每块GPU上每个进程所使用的显存情况。

显卡占用和GPU占用是两个不一样的东西,显卡是由GPU和显卡等组成的,显卡和GPU的关系有点类似于内存和CPU的关系,两个指标的占用率不一定是互相对应的。例如跑tensorflow代码的时候,可能显存占得多,GPU占得少。

 

我使用该命令,主要是看 Memory-Usage 信息,避免使用了其他伙伴已经占用的显卡,然后在代码中就可以指定空闲的GPU。例如上图服务器显示前4个卡都在用,我就在我的tensorflow代码中 指定使用第5个卡好了。

import os
os.environ["CUDA_VISIBLE_DEVICES"] = '4'  # 指定使用第5块GPU

 

补充

查看内存使用情况:

free -m

nvidia-smi查看GPU的使用信息并分析

查看CPU使用情况:

top

nvidia-smi查看GPU的使用信息并分析

 

参考:https://blog.csdn.net/Cloudox_/article/details/78651637

相关标签: GPU