背景:一台Windows物理机上装了英伟达的GPU显卡,业务需要实时监控它的使用率。
1、确认nvidia-smi命令可用
2、命令查询相关使用情况
3、服务器上部署zabbix-agent
提前下载好包上传,路径自行修改
C:\Users\Administrator>C:\zabbix_agent2\bin\zabbix_agent2.exe -i -c C:\zabbix_agent2\conf\zabbix_agent2.conf
C:\Users\Administrator>C:\zabbix_agent2\bin\zabbix_agent2.exe -c C:\zabbix_agent2\conf\zabbix_agent2.conf -s
4、编辑conf文件
除必要的serverIP和hostname,加入以下三行监控项:
UserParameter=gpuusage,C:\gpu_usage.bat
UserParameter=gputotal,C:\gpu_total.bat
UserParameter=gpuusagetotal,C:\gpu_total_usage.bat
对应内容如下:
gpu_total.bat:
@echo off
"C:\Windows\System32\nvidia-smi.exe" -i 0 --query-gpu=memory.total --format=csv,noheader,nounits>mem_total.txt
type mem_total.txt
gpu_usage.bat:
@echo off
"C:\Windows\System32\nvidia-smi.exe" -i 0 --query-gpu=memory.used --format=csv,noheader,nounits>mem_used.txt
type mem_used.txt
gpu_total_usage.bat:
@echo off
"C:\Windows\System32\nvidia-smi.exe" -i 0 --query-gpu=utilization.gpu --format=csv,noheader,nounits>gpu_used.txt
type gpu_used.txt
添加完成后,启动zabbix
5、zabbix-web界面新增主机监控
6、新增监控项
1)专用GPU内存总量:
2)已使用专用GPU内存量
3)专用GPU内存使用率
4)GPU总使用率
以上所有监控项对标的任务管理器资源如下:
7、查看最新数据