前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >运维天地-服务器04-X86-PCServer内存信息获取

运维天地-服务器04-X86-PCServer内存信息获取

作者头像
大话IT架构
发布于 2020-04-02 07:37:34
发布于 2020-04-02 07:37:34
55400
代码可运行
举报
文章被收录于专栏:大话IT架构大话IT架构
运行总次数:0
代码可运行

01

PART

知识回顾

本篇文章,我们重点介绍服务器"内存"信息的获取。

前期知识储备和回顾,请参考以下文章

01)运维天地-服务器01-X86-PCServer属性介绍

02)运维天地-服务器02-X86-PCServer资产信息获取

03)运维天地-服务器02-X86-PCServer CPU信息获取

特别说明:本文的服务器特指X86-PCServer硬件服务器

02

PART

X86-PCServer 内存信息获取

A

获取脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/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

获取方法概述

  1. 内存信息的获取,其实就利用了dmidecode命令
  2. dmidecode -t momory
  3. 接下来就是字符串的处理(过滤、分割、拼接)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话IT架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
运维天地-服务器09-X86-PCServer属性webapi接口实现
01 PART 知识回顾 本篇文章,我们重点介绍服务器熟悉webapi接口的实现。 前期知识储备和回顾,请参考以下文章 01)运维天地-服务器01-X86-PCServer属性介绍 02)运维天地-服务器02-X86-PCServer资产信息获取 03)运维天地-服务器03-X86-PCServer CPU信息获取 04)运维天地-服务器04-X86-PCServer内存信息获取 05)运维天地-服务器05-X86-PCServer磁盘信息获取 06)运维天地-服务器06-X86-PCServer网口
大话IT架构
2020/04/15
3240
运维天地-服务器09-X86-PCServer属性webapi接口实现
运维天地-服务器03-X86-PCServer CPU信息获取
01 PART 知识回顾 本篇文章,我们重点介绍服务器"CPU"信息的获取。 前期知识储备和回顾,请参考以下文章 01)运维天地-服务器01-X86-PCServer属性介绍 02)运维天地-服务
大话IT架构
2020/04/02
4470
运维天地-服务器06-X86-PCServer网口信息获取
01 特别说明:本文的服务器特指X86-PCServer硬件服务器 02 PART X86-PCServer 网口信息获取 A 获取脚本 #!/usr/bin/python #-*- codi
大话IT架构
2020/04/07
3700
运维天地-服务器05-X86-PCServer磁盘信息获取
01 PART 知识回顾 本篇文章,我们重点介绍服务器"磁盘"信息的获取。 前期知识储备和回顾,请参考以下文章 01)运维天地-服务器01-X86-PCServer属性介绍 02)运维天地-服务器
大话IT架构
2020/04/03
4510
运维天地-服务器10-X86-PCServer属性webapi接口获取并入库
CREATE DATABASE IF NOT EXISTS idc DEFAULT CHARACTER SET utf8;
大话IT架构
2020/04/15
4050
运维天地-服务器10-X86-PCServer属性webapi接口获取并入库
python2 监控服务器资源
******************************内存监控********************************* *******************时间: 2019-08-24 16:50:20 ****************** 总内存: 65958920 空闲内存: 37296548 给文件的缓冲大小: 310288 高速缓冲存储器使用的大小: 8991808 被高速缓冲存储用的交换空间大小: 7160 给文件的缓冲大小: 310288 交换内存利用率: 4.35586183351 内存利用率: 29.35 % ****************************内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息监控**************************** *******************时间: 2019-08-24 16:50:22 ****************** 等待运行进程的数量: 1 处于不间断状态的进程: 0 使用虚拟内存(swap)的总量: 365396 空闲的内存总量: 37298132 用作缓冲的内存总量: 310288 用作缓存的内存总量: 8991816 交换出内存总量 : 0 交换入内存总量 : 0 从一个块设备接收: 0 发送到块设备: 0 每秒的中断数: 9751 每秒的上下文切换数: 7514 用户空间上进程运行的时间百分比: 3 内核空间上进程运行的时间百分比: 2 闲置时间百分比: 95 等待IO的时间百分比: 0 从虚拟机偷取的时间百分比: 0 ***************************************cpu监控*************************************** *******************时间: 2019-08-24 16:50:23 ****************** CPU数目: 24 ************************负载均衡监控**************************** *******************时间: 2019-08-24 16:50:24 ****************** 系统5分钟前的平均负载: 0.16 系统10分钟前的平均负载: 0.08 系统15分钟前的平均负载: 0.06 分子是正在运行的进程数,分母为总进程数: 3/968 最近运行的进程id: 25222 ************************磁盘空间监控**************************** *******************时间: 2019-08-24 16:50:24 ****************** 文件系统: /dev/sda3 容量: 1.8T 已用: 133G 可用: 1.7T 已用%挂载点: 8% 文件系统: tmpfs 容量: 32G 已用: 12K 可用: 32G 已用%挂载点: 1% 文件系统: /dev/sda1 容量: 477M 已用: 57M 可用: 395M 已用%挂载点: 13% 文件系统: /dev/sdb1 容量: 440G 已用: 71M 可用: 436G 已用%挂载点: 1% ******************************端口监控********************************* *******************时间: 2019-08-24 16:50:25 ****************** 1 1 #################################################
用户5760343
2019/08/26
1.1K0
运维天地-服务器07-X86-PCServer系统信息获取
01 PART 知识回顾 本篇文章,我们重点介绍服务器"系统"信息的获取。 前期知识储备和回顾,请参考以下文章 01)运维天地-服务器01-X86-PCServer属性介绍 02)运维天地-服务器02-X86-PCServer资产信息获取 03)运维天地-服务器03-X86-PCServer CPU信息获取 04)运维天地-服务器04-X86-PCServer内存信息获取 05)运维天地-服务器05-X86-PCServer磁盘信息获取 06)运维天地-服务器06-X86-PCServer网口信息获取
大话IT架构
2020/04/15
4250
运维天地-服务器07-X86-PCServer系统信息获取
GPFS通用并行文件系统之Python自动部署GPFS集群
GPFS文件系统能够横跨在所有主机上,分布在所有磁盘上,条带化读写,高性能。信令管理机制,并发性好。可配置fail组,可用性高。下面是GPFS集群的自动安装部署Python代码......
星哥玩云
2022/06/30
7220
GPFS通用并行文件系统之Python自动部署GPFS集群
运维天地-服务器02-X86-PCServer资产信息获取
01 PART 知识回顾 本篇文章,我们重点介绍服务器"资产"信息的获取。 前期知识储备和回顾,请参考以下文章 01)运维天地-服务器01-X86-PCServer属性介绍 特别说明:本文的服务器
大话IT架构
2020/03/31
5440
运维天地-服务器02-X86-PCServer资产信息获取
运维天地-服务器08-X86-PCServer IP信息获取
01 PART 知识回顾 本篇文章,我们重点介绍服务器"IP"信息的获取。 前期知识储备和回顾,请参考以下文章 01)运维天地-服务器01-X86-PCServer属性介绍 02)运维天地-服务器02-X86-PCServer资产信息获取 03)运维天地-服务器03-X86-PCServer CPU信息获取 04)运维天地-服务器04-X86-PCServer内存信息获取 05)运维天地-服务器05-X86-PCServer磁盘信息获取 06)运维天地-服务器06-X86-PCServer网口信息获取
大话IT架构
2020/04/15
4170
运维天地-服务器08-X86-PCServer IP信息获取
zabbix 自动发现 python
disk name #/usr/bin/python #This script is used to discovery disk on the server import subprocess import json args="cat /proc/diskstats |grep -E '\ssd[a-z]\s|\sxvd[a-z]\s|\svd[a-z]\s'|awk '{print $3}'|sort|uniq 2>/dev/null" t=subprocess.Popen(args,shell=Tr
py3study
2020/01/09
6640
用 Python 脚本实现对 Linux 服务器的监控
目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件)、glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控。 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写。
星哥玩云
2022/07/03
1.5K0
用 Python 脚本实现对 Linux 服务器的监控
简单shell脚本,实现多台liunx服务器自动巡检,避免每天重复的劳动工作!
运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的CPU、内存、磁盘空间是否在正常值范围内。像这样每天或者每个固定时间段都做相同的重复工作,为了简化重复的工作,我写了基于liunx服务器的自动巡检脚本,在crontab中设定一个固定时间进行自动执行即可,以减少人工重复劳动的工作。
程序猿的栖息地
2022/04/29
1.1K0
太强了!利用 Python 写了一个监控服务器资源利用率的脚本!
部署完 自动巡检多个接口地址是否正常并按 crontab 定时任务通过企业微信机器人以文本的形式发送到告警群的脚本 后,又研究了一个脚本,其主要目的是:基于 Python 编程语言来监控服务器的 CPU、内存、/目录、/appslog、/bigdata目录使用率以及网卡接收和发送情况。
杰哥的IT之旅
2023/02/26
1.3K0
太强了!利用 Python 写了一个监控服务器资源利用率的脚本!
运维天地-服务器01-X86-PCServer属性介绍
日常工作中,服务器这个词语几乎天天提到。但是大部分人没有见过真机,对服务器不是太了解,现通过上面4张图片给大家一个直观的印象。
大话IT架构
2020/03/31
1.1K0
运维天地-服务器01-X86-PCServer属性介绍
python 运维常用脚本
path = "D:/UASM64/include/" dirs = os.listdir(path) temp=[];
用户5760343
2019/07/31
3.5K0
python常用运维脚本实例
file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建。但是更推荐使用内置函数open()来打开一个文件 .
菲宇
2019/06/12
1.8K0
Linux 服务器配置信息查询方法,国产化申威服务器配置信息查看演示
通过 dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product" 命令可以显示服务器信息。 申威服务器没查出来,其它服务器可用,下面这个是飞腾服务器的。
小蓝枣
2020/09/24
2.9K0
服务器内存故障预测居然可以这样做!
随着互联网业务的快速发展,基础设施的可用性也越来越受到业界的关注。内存发生故障的故障率高、频次多、影响大,这些对于上层业务而言都是不能接受的。
2020labs小助手
2022/07/26
18.5K1
Linux服务器巡检
参考链接:https://mp.weixin.qq.com/s/w1qQ0DHDlVmhRN8ceGS5Kg https://blog.csdn.net/helloworld104/article/details/106819948/
R0A1NG
2022/04/26
2.8K0
推荐阅读
相关推荐
运维天地-服务器09-X86-PCServer属性webapi接口实现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文