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. 06JavaScript函数

    JavaScript函数 3.1系统函数 3.1.1编码函数 功能:将字符串中非文字.数字字符(如&,%,#,^,空格符…)转成相对应的ASCII值. 语法:escape(字符串) 3.1.2 ...

  2. mysql group_concat函数详解

    group_concat( [DISTINCT]  要连接的字段   [Order BY 排序字段 ASC/DESC]   [Separator '分隔符'] ) 1. --以id分组,把price字 ...

  3. hive纯命令行

    vim /etc/profileexport HIVE_HOME=/export/servers/hive...export PATH=:$HIVE_HOME/bin:$PATH 前台启动hive:h ...

  4. show()的方向

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. jquery中ajax原生代码的分析模仿

    function ajax(obj){     var defaults = {         url: "#",         data: {},         type: ...

  6. Java格式化CST时间(mysql date类型)

    在从mysql导入数据时候,mysql里的日期是格林威治时间,普通格式化不行,这里总结一下格式化格林威治时间的方法: Date date = new Date(); System.out.printl ...

  7. SQL中带有NOT IN 子查询改写

    报表程序中的一段SQL运行很慢,代码如下: 优化前: 耗时:1337s INSERT INTO PER_LTE_ZIB_PB_COMMISSION_07 SELECT P.TOPACTUALID, Q ...

  8. assert.notStrictEqual()详解

    严格不相等测试,由不全等运算符确定(===). const assert = require('assert'); assert.notStrictEqual(1, 2); // OK assert. ...

  9. html页面加载初始化方法

    js: 方法一: window.onload=function(){内容} 方法二(自己定义方法): function onload(){内容} onload(); jQuery: 方法一: $(do ...

  10. PHP:验证邮箱合法性

    文章来源:http://www.cnblogs.com/hello-tl/p/7592304.html /** * [verifyPhone description] 效验邮箱号合法性 * @para ...