[TIPS] 实时查看NVIDIA GPU的设备使用情况

如果需要在程序中实时获取nvidia gpu的设备使用率,比如pwrsmpclk等信息,可以借用int system(const char *command) [1] 函数把 nvidia-smi 使用命令传给要被命令处理器执行的主机环境,并在命令完成后返回,由此将当前设备信息打印到屏幕上或者保存到日志文件。

#include 
system("nvidia-smi dmon -c 1");
# 打印结果
# gpu   pwr gtemp mtemp    sm   mem   enc   dec  mclk  pclk
# Idx     W     C     C     %     %     %     %   MHz   MHz
    0    28    55     -     2     0     0     0  5000   900
    0    28    55     -     2     0     0     0  5000   900
# 监控指标(默认为puc),其中:
# p:电源使用情况和温度(pwr:功耗,temp:温度)
# u:GPU使用率(sm:流处理器,mem:显存,enc:编码资源,dec:解码资源)
# c:GPU处理器和GPU内存时钟频率(mclk:显存频率,pclk:处理器频率)
# v:电源和热力异常
# m:FB内存和Bar1内存
# e:ECC错误和PCIe重显错误个数
# t:PCIe读写带宽

  1. C 库函数 - system() https://www.runoob.com/cprogramming/c-function-system.html ↩

你可能感兴趣的:([TIPS] 实时查看NVIDIA GPU的设备使用情况)