01
PART
知识回顾
本篇文章,我们重点介绍服务器"内存"信息的获取。
前期知识储备和回顾,请参考以下文章
01)运维天地-服务器01-X86-PCServer属性介绍
02)运维天地-服务器02-X86-PCServer资产信息获取
03)运维天地-服务器02-X86-PCServer CPU信息获取
特别说明:本文的服务器特指X86-PCServer硬件服务器
02
PART
X86-PCServer 内存信息获取
A
获取脚本
#!/usr/bin/python
#-*- coding: utf-8 -*-
#author: wangzhiguo
#date: 2020.01.29
import commands
class MemInfo():
def __init__(self):
return
def get_mem_type(self):
status, output = commands.getstatusoutput("dmidecode -t memory | grep 'Type: DDR' | sort -u | awk '{print $2}'")
mem_type = output.strip()
return mem_type
def get_mem_speed(self):
status, output = commands.getstatusoutput("dmidecode -t memory | grep 'Configured Clock Speed:' | grep -v 'Configured Clock Speed: Unknown' | sort -u
| awk '{print$4}'")
mem_speed = output.strip()
return mem_speed
def get_mem_size(self):
status, output = commands.getstatusoutput ("dmidecode -t memory | grep 'Size:' | grep -v 'Size: No Module Installed' | sort -u")
output = output.split(":")[1].split()
if output[1] == "MB":
mem_size = int(output[0])/1024
return mem_size
elif output[1] == "GB":
mem_size = int(output[0])
return mem_size
elif output[1] == "KB":
mem_size = int(output[0])/1024/1024
return mem_size
elif output[1] == "TB":
mem_size = int(output[0])*1024
return mem_size
else:
mem_size = int(output[0])
return mem_size
def get_mem_num(self):
status, output = commands.getstatusoutput("dmidecode -t memory | grep 'Size:' | grep -v 'Size: No Module Installed' | wc -l")
mem_num = output.strip()
mem_num = int(mem_num)
return mem_num
def get_mem_slot_num(self):
status, output = commands.getstatusoutput("dmidecode -t memory | grep 'Memory Device' | wc -l")
mem_slot_num = output.strip()
mem_slot_num = int(mem_slot_num)
return mem_slot_num
def get_all(self):
mem_type = self.get_mem_type()
mem_speed = self.get_mem_speed()
mem_size = self.get_mem_size()
mem_num = self.get_mem_num()
mem_slot_num = self.get_mem_slot_num()
return mem_type, mem_speed, mem_size, mem_num, mem_slot_num
def main():
temp = MemInfo()
print(temp.get_all())
if __name__ == '__main__':
main()
B
获取方法概述
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有