Nvidia 系统管理接口 (SMI) 输入插件
此插件使用 NVIDIA 系统管理接口,收集有关 NVIDIA GPU 的指标,包括内存和 GPU 使用率、温度等。
此插件需要在系统上安装 nvidia-smi 二进制文件。
已引入版本: Telegraf v1.7.0 标签: system, hardware 操作系统支持: all
全局配置选项
插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md。
启动错误行为选项
除了插件特定的和全局的配置设置外,该插件还支持使用 startup_error_behavior 设置来指定出现启动错误时的行为。可用值如下:
error:如果出现启动错误,Telegraf 将停止并退出。这是默认行为。ignore:Telegraf 将忽略此插件的启动错误,并禁用它,但会继续处理所有其他插件。retry: 不可用probe: Telegraf 将调用Probe() error方法(如果可用)。如果该方法返回错误,Telegraf 将禁用该插件,但会继续处理所有其他插件。
配置
# Pulls statistics from nvidia GPUs attached to the host
[[inputs.nvidia_smi]]
## Optional: path to nvidia-smi binary, defaults "/usr/bin/nvidia-smi"
## We will first try to locate the nvidia-smi binary with the explicitly specified value (or default value),
## if it is not found, we will try to locate it on PATH(exec.LookPath), if it is still not found, an error will be returned
# bin_path = "/usr/bin/nvidia-smi"
## Optional: timeout for GPU polling
# timeout = "5s"Linux
在 Linux 上,nvidia-smi 通常位于 /usr/bin/nvidia-smi
Windows
在 Windows 上,nvidia-smi 通常位于 C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe。在 Windows 10 上,您可能也会在此处找到它:C:\Windows\System32\nvidia-smi.exe
您需要在 telegraf.conf 中像这样转义 \:C:\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe
故障排除
通过手动运行 nvidia-smi 二进制文件来检查完整输出。
Linux
sudo -u telegraf -- /usr/bin/nvidia-smi -q -xWindows
"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" -q -x如果打开 GitHub issue,请包含此命令的输出。
Metrics
- 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(整数,百分比)fbc_stats_session_count(整数)fbc_stats_average_fps(整数)fbc_stats_average_latency(整数)memory_free(整数,MiB)memory_used(整数,MiB)memory_total(整数,MiB)memory_reserved(整数,MiB)retired_pages_multiple_single_bit(整数)retired_pages_double_bit(整数)retired_pages_blacklist(字符串)retired_pages_pending(字符串)remapped_rows_correctable(int)remapped_rows_uncorrectable(int)remapped_rows_pending(字符串)remapped_rows_pending(字符串)remapped_rows_failure(字符串)power_draw(浮点数,W)temperature_gpu(整数,摄氏度)utilization_gpu(整数,百分比)utilization_memory(整数,百分比)utilization_encoder(整数,百分比)utilization_decoder(整数,百分比)pcie_link_gen_current(整数)pcie_link_width_current(整数)encoder_stats_session_count(整数)encoder_stats_average_fps(整数)encoder_stats_average_latency(整数)clocks_current_graphics(整数,MHz)clocks_current_sm(整数,MHz)clocks_current_memory(整数,MHz)clocks_current_video(整数,MHz)driver_version(字符串)cuda_version(字符串)
- 标签 (tags)
示例输出
nvidia_smi,compute_mode=Default,host=8218cf,index=0,name=GeForce\ GTX\ 1070,pstate=P2,uuid=GPU-823bc202-6279-6f2c-d729-868a30f14d96 fan_speed=100i,memory_free=7563i,memory_total=8112i,memory_used=549i,temperature_gpu=53i,utilization_gpu=100i,utilization_memory=90i 1523991122000000000
nvidia_smi,compute_mode=Default,host=8218cf,index=1,name=GeForce\ GTX\ 1080,pstate=P2,uuid=GPU-f9ba66fc-a7f5-94c5-da19-019ef2f9c665 fan_speed=100i,memory_free=7557i,memory_total=8114i,memory_used=557i,temperature_gpu=50i,utilization_gpu=100i,utilization_memory=85i 1523991122000000000
nvidia_smi,compute_mode=Default,host=8218cf,index=2,name=GeForce\ GTX\ 1080,pstate=P2,uuid=GPU-d4cfc28d-0481-8d07-b81a-ddfc63d74adf fan_speed=100i,memory_free=7557i,memory_total=8114i,memory_used=557i,temperature_gpu=58i,utilization_gpu=100i,utilization_memory=86i 1523991122000000000局限性
请注意,当内存超频时,获取当前内存时钟值似乎存在一个问题。这可能适用于某些用户,但在 EVGA 2080 Ti 上已确认存在此问题。
注意: 用于 Docker 时,您可以生成自己的自定义 Docker 镜像(基于 nvidia/cuda 并安装 telegraf 包),或者使用 volume mount binding 将所需的二进制文件注入到 Docker 容器中。具体来说,您需要传递 /dev/nvidia* 设备、nvidia-smi 二进制文件和 nvidia 库。以下是一个最小的 docker-compose 示例:
telegraf:
image: telegraf
runtime: nvidia
devices:
- /dev/nvidiactl:/dev/nvidiactl
- /dev/nvidia0:/dev/nvidia0
volumes:
- ./telegraf/etc/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /usr/bin/nvidia-smi:/usr/bin/nvidia-smi:ro
- /usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/x86_64-linux-gnu/nvidia:ro
environment:
- LD_PRELOAD=/usr/lib/x86_64-linux-gnu/nvidia/current/libnvidia-ml.so此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Telegraf 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。