码迷,mamicode.com
首页 > 编程语言 > 详细

python 获取内存的状态

时间:2015-07-16 22:38:55      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:python   system   import   

#!/usr/bin/env python

import subprocess

try:
	import simplejson as json
except:
	import json

memory_status = {} 

p = subprocess.Popen("dmidecode --type system | perl -alne ‘/Manufacturer:\s(.*)/ and print $1‘", shell=True, stdout=subprocess.PIPE)
vender = p.stdout.readline().strip()

if vender == ‘HP‘:
	mem_slot = []
	mem_status = []
	p = subprocess.call("rpm -qa | grep hp-health", shell=True, stdout=subprocess.PIPE)
	if p != 0:
		subprocess.call("rpm -ivh http://downloads.linux.hp.com/downloads/ManagementComponentPack/centos/6/x86_64/9.40/hp-health-9.40-1602.44.rhel6.x86_64.rpm", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

	p = subprocess.Popen("hpasmcli -s ‘show dimm‘", shell=True, stdout=subprocess.PIPE)
	for line in p.stdout.readlines():
		a = {}
		data = line.strip().split(":")
		if len(data) == 2:
			a[data[0].strip()] = data[1].strip()
		
		if ‘Status‘ in a.keys():
			status = a[‘Status‘]
                        if status == "Ok":
                                status = 0
                                mem_status.append(status)

	length = len(mem_status)
	if length:
		for i in range(0, length):
			slot = "slot_%d"  % (i)
			mem_slot.append(slot)

	memory_status = dict(zip(mem_slot, mem_status))
else:
	mem_slot = []
	mem_status = []
	p = subprocess.Popen("omreport chassis Memory", shell=True, stdout=subprocess.PIPE)
	for line in p.stdout.readlines():
		a = {}
		data = line.strip().split(":")
		if len(data) == 2:
			a[data[0].strip()] = data[1].strip()

		if ‘Index‘ in a.keys():
			slot = "slot_" + a[‘Index‘]
			if slot:
				mem_slot.append(slot)		
		elif ‘Status‘ in a.keys():
			status = a[‘Status‘]
			if status != "Unknown" and status == "Ok":
				status = 0
				mem_status.append(status)

	memory_status = dict(zip(mem_slot, mem_status))
			
print json.dumps(memory_status, indent=4)


python 获取内存的状态

标签:python   system   import   

原文地址:http://curran.blog.51cto.com/2788306/1675331

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!