最近一年负责运维的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. linux(CentOS7) 之 克隆虚拟机并配置网络(固定ip)

    克隆机器 原机关机状态下,克隆. 下一步 选择当前状态,下一步 选择创建完整克隆,下一步 设置虚拟机名称(完成后可以修改).克隆机安装位置,下一步 等待克隆完成 克隆完成 配置网络 添加网卡(因为物理 ...

  2. Mysql实训任务书

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6635189537079296526/ 什么是数据库:数据库(Database)是按照数据结构来组织.存储和管理数据 ...

  3. 三分钟:极速体验JAVA版目标检测(YOLO4)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. CSS-选择器的使用

    * 默认选择器,这个符号能匹配所有样式,所以如果没有额外定义就默认为这个样式,一般用于消除页面与浏览器的内外边距 <style> *{ padding:0; // 所有标签默认消除内边距 ...

  5. Keil MDK STM32系列(三) 基于标准外设库SPL的STM32F407开发

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  6. java运行时创建对象

    有很多场景需要运行时创建对象,比如Copy对象到指定类型的对象中,比如根据指定的字段和值创建指定类型的对像.使用JDK自带的反射(java.lang.reflect)或者自省(java.beans.I ...

  7. ctfshow web2 web3

    ctfshow web2 1.手动注入题.先用万能密码admin' or 1=1%23,有回显 2.union select注入,2处有回显 3.依次查找数据库.表.字段 得到flag ctfshow ...

  8. winform创建桌面快捷方式

    //引用IWshRuntimeLibrary COM组件-Windows Script Host Object Model /// <summary> /// 创建快捷方式的类 /// & ...

  9. flask中错误使用flask.redirect('/path')导致的框架奇怪错误

    我在首页的位置使用了如下代码: import flask @page_index.route('/') def index(): flask.redirect('/pythoncgi/') 结果站点出 ...

  10. Typecho 如何安装主题和插件

    Typecho的主题和插件都安装在Typecho的usr目录下,这个不是主机根目录的usr,是Typecho本身文件夹根目录下的usr. 里面有两个文件夹,plugins存放插件,themes存放主题 ...