1.安装Ganglia,这里安装的是3.1*版本,因为监控GPU的模块只支持3.1*版本系列的

apt-get install ganglia*

2.下载并安装PyNVML和NVML模块,下载地址https://github.com/ganglia/gmond_python_modules/tree/master/gpu

安装PyNVML,安装文档上要求python为2.5或更早版本,其实系统自带python版本2.7.3是可以通过编译的,这里就不需要更换python环境了

cd ~/nvidia/nvidia-ml-py-*
python setup.py install

安装NVML

2.1复制python模块到Ganglia模块目录

mkdir /usr/lib/ganglia/python_modules
cp python_modules/* /usr/lib/ganglia/python_modules

2.2复制配置文件和前端图形展现文件到ganglia相关目录

mkdir /etc/ganglia/conf.d
cp conf.d/* /etc/ganglia/conf.d
cp graph.d/* /usr/share/ganglia-webfrontend/graph.d/

2.3为web页面打补丁

cp ganglia_web.patch /usr/share/ganglia-webfrontend/
cp ganglia_web.patch /usr/share/ganglia-webfrontend/templates/default/
cd /usr/share/ganglia-webfrontend/
cp host_view.php host_view.php.bak
patch <ganglia_web.patch
cd /usr/share/ganglia-webfrontend/templates/default/
cp host_view.tpl host_view.tpl.bak
patch <ganglia_web.patch

3.将服务端/etc/ganglia/gmond.conf文件拷贝到客户端/etc/ganglia/,并在conf.d目录下新建modpython.conf文件,内容如下

modules {
module {
name = "python_module"
path = "/usr/lib/ganglia/modpython.so"
params = "/usr/lib/ganglia/python_modules"
} }

4.启动服务

service ganglia-monitor start

5.说明:以上都是客户端配置,服务器端配置的话也要经过上面的步骤,只不过需要多开启几个服务,如果被监控的GPU看不到图形的话,请运行以下命令

python /usr/lib/ganglia/python_moudles/nvidia.py
service ganglia-monitor restart

6.以上步骤的脚本放到服务器端,批量部署客户端,脚本如下

#!/bin/bash
cd ~
wget 192.168.87.102/nvidia.zip
unzip nvidia.zip
cp ~/nvidia/sources.list /etc/apt/
apt-get update
apt-get -y install ganglia*
cd ~/nvidia/nvidia-ml-py-*
python setup.py install
cp ~/nvidia/graph.d/* /usr/share/ganglia-webfrontend/graph.d/
cp ~/nvidia/host_view.php /usr/share/ganglia-webfrontend/
cp ~/nvidia/host_view.tpl /usr/share/ganglia-webfrontend/templates/default/
mkdir /usr/lib/ganglia/python_modules
cp ~/nvidia/python_modules/* /usr/lib/ganglia/python_modules
mkdir /etc/ganglia/conf.d
cp ~/nvidia/conf.d/* /etc/ganglia/conf.d
cp ~/nvidia/gmond.conf /etc/ganglia/
service ganglia-monitor restart
rm -rf ~/nvidia*
rm -rf ~/gpu*

执行脚本

wget 192.168.87.102/gpu.sh && chmod +x gpu.sh && sh gpu.sh

下图是被监控GPU服务器的详细界面

ubuntu12.04通过Ganglia利用NVML模块进行GPU监控的更多相关文章

  1. 在vmware 6.5+ubuntu12.04上安装VMware tools出现问题的分析

    笔者已经写了一篇关于安装"VMware Tools",以实现文件共享的文章,那篇文章对于你实现共享操作是足够了, 所以,倘若你赶时间不如直接去在虚拟机的linux中利用VMware ...

  2. RP4412开发板烧写Ubuntu12.04失败原因分析解决

    Ubuntu烧写失败可能是卡的问题 问:用RP4412开发板,卡烧了光盘中的fastboot失败,现在如何补救呢? 答:INAND格式化,利用usb来升级啊. 也有文档,看升级文档. 问:这个是怎么回 ...

  3. ubuntu12.04+Elasticsearch2.3.3伪分布式配置,集群状态分片调整

    目录 [TOC] 1.什么是Elashticsearch 1.1 Elashticsearch介绍 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.能够快速搜索数 ...

  4. ubuntu12.04 安装 php5.4/php5.5

    1:修改源(我使用163的源)直接修改/etc/apt/sources.list deb http://mirrors.163.com/ubuntu/ precise main universe re ...

  5. ubuntu12.04 server + apache2 + wsgi + django1.6 部署

    最近在学Python和Django,想自己部署一个服务器试试 环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi 在网 ...

  6. 重新安装Ubuntu12.04

    重新安装Ubuntu12.04 之所以我重新安装Ubuntu,因为我第一次给根目录分配的空间过小,好像是20GB吧~结果编译Android的时候,编译了3个小时候直接中止掉了.郁闷.这个也告诉我们一定 ...

  7. 【转】win7 虚拟机virtualbox中ubuntu12.04安装samba实现文件共享

    原文网址:http://blog.csdn.net/watkinsong/article/details/8878786 昨天心血来潮,又装了个虚拟机,然后安装了ubuntu12.04,为了实现在虚拟 ...

  8. 试用ubuntu-12.04.3-desktop-amd64(二)

    首先说明,采用主机+虚拟机+ubuntu的形式,更具体的则为Win7-64bit + VMWare + ubuntu-12.04.3-desktop-amd64 进入ubuntu后首先考虑到的就是怎么 ...

  9. ubuntu12.04管理员账户登录不了桌面,只能客人会话登录

    ubuntu12.04管理员账户登录不了桌面,只能客人会话登录 求助!!ubuntu12.04管理员账户登录不了桌面,只能客人会话登录. 登录管理员账户时,输入密码后,一直在登录界面循环 费了好大劲啊 ...

随机推荐

  1. ipv6工具类

    package mapreduce.nat; import java.math.BigDecimal; import java.math.BigInteger; import java.net.Ine ...

  2. 解决WCF接口无法传递object参数的问题

    在某些场合中,我们需要提供以object为参数的方法.不过在WCF中,由于需要序列化与反序列化,因此它要求所有WCF传递的参数类型都是已知的,无法传递object这种未知类型.即使用了KnownTyp ...

  3. React入门介绍(2)- React Component-React组件

    React Component-React组件 允许用户自由封装组件是React非常突出的特性,用户可将自己创建的组件像普通的HTML标签一样插入页面,React.CreateClass方法就是用来创 ...

  4. GNU编译器学习 --> 如何链接外部库【Linking with external libraries】

    库也就是我们常说的library,一个库是若干个已经编译过的目标文件(.obj)的集合,它可以被链接到程序里.那么我们最常见的使用就是,我们在编程时会调用一些函数,这些函数别人已经写好了,它就放在库里 ...

  5. mybatis中修改了数据,控制台显示成功,数据库没有修改

    在mybatis中遇到了修改数据时,控制台显示修改成功,但是去数据库查看并没有修改,这是因为mybatis不时自动提交事务的,所以是不会修改数据库的数据,这是我们加上一句 sqlSession.com ...

  6. [Python3网络爬虫开发实战] 6.1-什么是Ajax

    Ajax,全称为Asynchronous JavaScript and XML,即异步的JavaScript和XML.它不是一门编程语言,而是利用JavaScript在保证页面不被刷新.页面链接不改变 ...

  7. Python之数字

    Python之数字 int(数字)===>在Python3中,int没有范围,在Python2中,int超出范围就叫长整型(Long). 浮点运算:单精度 float 双精度 double a: ...

  8. 第二十二节:scrapy爬虫识别验证码(一)类库安装

    一.安装tesserocr 1.首先下载tesseract:https://digi.bib.uni-mannheim.de/tesseract/ ,我下载的是tesseract-ocr-setup- ...

  9. oracle 11g完全卸载

    oracle 11g release2的完全卸载方式与前些版本有了改变,自带了一个卸载批处理文件——deinstall.bat.(这个工具可以从oracle的home进行完全的卸载,不管是单实例ora ...

  10. 标准sqlserver连接语句

    sqlserver左右全内连接 原始链接http://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html      连接条件可在FR ...