最近一年负责运维的GPU主机越来越多,发现现有的监控项无法很好的了解GPU的性能和负载情况,研究了下官方文档,在此记录。

一、NVML和DCGM

NVML:https://developer.nvidia.com/nvidia-management-library-nvml

DCGM:https://developer.nvidia.com/dcgm

从网址就能看出,这两个工具都是nvidia官方推出的。都是用C/C++编写的底层库。

NVML的操作命令是nvidia-smi,DCGM的操作命令为dcgmi。安装驱动后,一般会自带nvidia-smi。而dcgmi需要单独安装。(这里指的linux系统下,windows不了解)

功能的区别:

按官网的说明,NVML是对GPU硬件的监控,可以查看GPU的温度、功率、风扇等信息。

而DCGM更倾向于对集群的监控管理,可以健康检查、配置策略、与k8s之类的工具集成。

二、nvidia-smi

用法参考:https://www.cnblogs.com/maxgongzuo/p/12582360.html

三、dcgmi

使用参考:https://devblogs.nvidia.com/nvidia-data-center-gpu-manager-cluster-administration/

监控参考:https://devblogs.nvidia.com/gpu-telemetry-nvidia-dcgm/

四、gpu-monitoring-tools

https://github.com/NVIDIA/gpu-monitoring-tools

这个也是nvidia的官方工具,介绍为“Tools for monitoring NVIDIA GPUs on Linux”。

是对NVML和DCGM的工具化封装。个人觉得由于使用GO语言编写,通用性比python的接口模块更好。

这个工具很久没有更新了,可能会对最新的NVML和DCGM支持不太好,编译报错可以查询官方的api文档修改代码解决。

我这里生产上使用的DCGM的restApi,编译时候有一个函数名报错,查官方文档发现是新版本名字变了,改过来后编译成功。

五、使用python(未测)

NVML的官方python模块,http://pypi.python.org/pypi/nvidia-ml-py/

DCGM的官方文档提到一个DcgmReader.py类,https://docs.nvidia.com/datacenter/dcgm/latest/dcgm-user-guide/integrating-with-dcgm.html#integrating-with-dcgm-reader

AI模型运维——GPU性能监控NVML和DCGM的更多相关文章

  1. AI模型运维——NVIDIA驱动、cuda、cudnn、nccl安装

    目前大部分使用GPU的AI模型,都使用的英伟达这套. 需要注意的是,驱动.cuda.cudnn版本需要一一对应,高低版本互不兼容. 驱动和cuda对应关系:https://docs.nvidia.co ...

  2. 智和网管平台SugarNMS赋能AI智能化运维

    11月14日,由<网络安全和信息化>和IT运维网联合主办的2019(第十届) IT运维大会上海站在锦荣国际大酒店如期召开.运维领域权威专家.技术领袖.各类运维相关技术产品提供商及服务商共同 ...

  3. 运维架构服务监控Open-Falcon

    一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...

  4. zabbix在运维方面的监控方法小结

    一些经典的运维问题: .配置文件中有空格,导致服务端下发的域名出现问题 .修改数据库没有备份 .修改dnspod问题,指向了错误的IP地址 .时间不一致,需要重新设定时区 .启动程序必须是最新版本,如 ...

  5. 鹅厂优文 | 怎样用AI运维

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 织云平台团队 团队发布在腾讯云+社区 诞生背景 最近这些年,运维行业提出了不少概念,各种各样的"XX运维"可以说 ...

  6. 监控和安全运维 1.4 nagios安装

    1. Nagios 简介是一个开源软件,可以监控网络设备网络流量.Linux/windows主机状态,甚至可以监控打印机它可以运行在Linux上或windows上基于浏览器的web界面方便运维人员查看 ...

  7. Redis 之sentinel运维监控

    有三台redis服务器6379.6380.6381,配置6379为主服务器,6380与6381都为6379的从服务器.如果主服务器6379挂掉了,我们怎么办? 方式一:手动修改从服务器的配置,将638 ...

  8. 什么是业务运维,企业如何实现互联网+业务与IT的融合

    业务运维并不是一个新概念,针对传统信息架构提出的业务服务管理就是把以业务为核心的IT系统与IT基础设施性能进行整合运维的解决方案.然而随着互联网+转型的不断推进,基础设施的智能化和广泛云化成为IT发展 ...

  9. 虎牙直播运维负责人张观石 | SRE实践指南

    虎牙直播运维负责人张观石 本文是根据虎牙直播运维负责人张观石10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族开放日<虎牙直播平台SRE实践>演讲中的分享内容整理而成. ...

随机推荐

  1. Kafka基础教程(一):认识Kafka

    Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,吞吐速率非常快,可以作为Hadoop的日志收集.Kafka是一个完全的分布式系统,这一点依赖于Zookeeper ...

  2. centos6.5-Apache优化

    Apache的网页压缩功能 一.配置网页压缩功能 在配置压缩功能以前访问网页的响应头部 Response Headers view source Accept-Ranges:bytes Connect ...

  3. python连接真机或模拟器

    前言: 最近写自动化代码的时候,使用模拟器运行 python + appium代码时,APP闪退了,只能使用真机运行代码了.真机要怎么配置设备的信息呢? 怎么配置设备的信息? 配置是使用真机还是模拟器 ...

  4. ES开源工具 elastichd 的使用(另一个elasticsearch可视化管理)

    1. 获取elastichd镜像 docker pull containerize/elastichd 2. 启动镜像 docker run -p 9800:9800 -d containerize/ ...

  5. Nginx.d 设置

    #vi nginx.conf 最后一行添加 #加载conf.d内文件 include /usr/local/nginx/conf/conf.d/*.conf; 示例 cd  conf.d Vi  ** ...

  6. Java Date 类型比较

    //某时间Date time = tRemind.getTime();//现在时间Date now = new Date();//结果大于0则是现在时间大于某时间//结果等于0则为刚好相等//结果小于 ...

  7. C# 类的继承问题 正方形周长面积计算问题

    1. 设计编写一个控制台应用程序,练习类的继承. (1) 编写一个抽象类 People,具有"姓名","年龄"字段,"姓名"属性,Work ...

  8. Flink State Rescale性能优化

    背景 今天我们来聊一聊flink中状态rescale的性能优化.我们知道flink是一个支持带状态计算的引擎,其中的状态分为了operator state和 keyed state两类.简而言之ope ...

  9. golang中goroutine协程调度器设计策略

    goroutine与线程 /* goroutine与线程1. 可增长的栈os线程一般都有固定的栈内存,通常为2MB,一个goroutine的在其声明周期开始时只有很小的栈(2KB),goroutine ...

  10. Ioc容器-Bean管理(工厂bean)

    IoC操作Bean管理(FactoryBean) 1,Spring有两种类型bean,一种像自己创建的普通bean,另一种工厂bean(FactoryBean) 2,普通bean:在spring配置文 ...