性能监控之Telegraf+InfluxDB+Grafana NVIDIA GPU实时监控

举报
zuozewei 发表于 2021/08/23 22:58:05 2021/08/23
【摘要】 NVIDIA系统管理界面(nvidia-smi)是一个命令行实用程序,基于NVIDIA管理库(NVML),旨在帮助管理和监控NVIDIA GPU设备。

什么是GPU?

图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。 用途是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要元件,也是“人机对话”的重要设备之一。显卡作为电脑主机里的一个重要组成部分,承担输出显示图形的任务,对于从事专业图形设计的人来说显卡非常重要,同时也在深度学习领域广泛应用。

预备知识

NVIDIA系统管理界面(nvidia-smi)是一个命令行实用程序,基于NVIDIA管理库(NVML),旨在帮助管理和监控NVIDIA GPU设备。
此实用程序允许管理员查询GPU设备状态并具有相应的权限,允许管理员修改GPU设备状态。它针对的是Tesla TMGRID TMQuadro TMTitan X产品,但其他NVIDIA GPU也提供有限的支持。
NVIDIA-smi在Linux上配备了NVIDIA GPU显示驱动程序,并配有64位Windows Server 2008 R2Windows 7Nvidia-smi可以将查询信息作为XML或可读的纯文本报告给标准输出或文件形式。

示例NVIDIA-smi输出:

image.png

window下如何使用NVIDIA-smi?

nvidia-smi是跟nvidia显卡驱动程序放在一起的,所以我们可以在驱动默认安装文件路径C:\Program Files\NVIDIA Corporation\NVSMI里找到文件nvidia-smi.exe,把该文件拖到CMD窗口,就可以显示关于GPU的信息,如下图所示:

image.png

上图是Nvidia GeForce GTX 750的信息,下面解读参数。
上面的表格框中的信息与下面的四个框的信息是一一对应的:

  • GPU:GPU 编号;
  • Name:GPU 型号;
  • Fan:风扇转速,从0到100%之间变动;
  • Temp:温度,单位是摄氏度;
  • Perf:性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能(即 GPU 未工作时为P0,达到最大工作限度时为P12)。
  • Pwr:Usage/Cap:能耗;
  • Memory Usage:显存使用率;
  • Bus-Id:涉及GPU总线的东西,domain:bus:device.function
  • Disp.A:Display Active,表示GPU的显示是否初始化;
  • Volatile GPU-Util:浮动的GPU利用率(GPU Load);
  • Uncorr. ECCError Correcting Code,错误检查与纠正;
  • Compute Mcompute mode,计算模式。
  • 下方的Processes表示每个进程对 GPU 的显存使用率。

Telegraf+InfluxDB+Grafana监控NVIDIA GPU

Telegraf提供nvidia-smi采集插件收集GPU性能数据
Github地址:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nvidia_smi

配置插件

[[inputs.nvidia_smi]]
  ## Optional: path to nvidia-smi binary, defaults to $PATH via exec.LookPath
  bin_path = "C:\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe"

  ## Optional: timeout for GPU polling
  timeout = "5s"

采集度量

measurement:nvidia_smi

  • tags
    • name(例如GPU的类型GeForce GTX 1070 Ti
    • compute_mode(例如GPU的计算模式Default)
    • index(GPU连接到主板的端口索引,例如1)
    • pstate(例如GPU的超频状态P0)
    • uuid(例如GPU的唯一标识符,GPU-f9ba66fc-a7f5-94c5-da19-019ef2f9c665)
  • fields
    • fan_speed (整数,百分比)
    • memory_free (整数,MiB)
    • memory_used (整数,MiB)
    • memory_total (整数,MiB)
    • power_draw (浮点,W)
    • temperature_gpu (整数,℃)
    • utilization_gpu (整数,百分比)
    • utilization_memory (整数,百分比)

采集数据示例:

image.png

Grafana Dashboard
image.png

相关资料:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。