博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux获取内存、cpu、负载、网口流量、磁盘信息
阅读量:6112 次
发布时间:2019-06-21

本文共 3180 字,大约阅读时间需要 10 分钟。

内存信息 / meminfo

 返回dict

 

  1.  
    #!/usr/bin/env python
  2.  
    def memory_stat():
  3.  
    mem = {}
  4.  
    f = open(
    "/proc/meminfo")
  5.  
    lines = f.readlines()
  6.  
    f.close()
  7.  
    for line in lines:
  8.  
    if len(line) < 2: continue
  9.  
    name = line.split(
    ':')[0]
  10.  
    var = line.split(
    ':')[1].split()[0]
  11.  
    mem[name] = long(var) *
    1024.0
  12.  
    mem[
    'MemUsed'] = mem['MemTotal'] - mem['MemFree'] - mem['Buffers'] - mem['Cached']
  13.  
    return mem

 

CPU信息 / cpuinfo

返回list,每核心一dict

 

  1.  
    #!/usr/bin/env python
  2.  
    def cpu_stat():
  3.  
    cpu = []
  4.  
    cpuinfo = {}
  5.  
    f = open(
    "/proc/cpuinfo")
  6.  
    lines = f.readlines()
  7.  
    f.close()
  8.  
    for line in lines:
  9.  
    if line == '\n':
  10.  
    cpu.append(cpuinfo)
  11.  
    cpuinfo = {}
  12.  
    if len(line) < 2: continue
  13.  
    name = line.split(
    ':')[0].rstrip()
  14.  
    var = line.split(
    ':')[1]
  15.  
    cpuinfo[name] = var
  16.  
    return cpu

负载信息 / loadavg
返回dict

 

  1.  
    #!/usr/bin/env python
  2.  
    def load_stat():
  3.  
    loadavg = {}
  4.  
    f = open(
    "/proc/loadavg")
  5.  
    con = f.read().split()
  6.  
    f.close()
  7.  
    loadavg[
    'lavg_1']=con[0]
  8.  
    loadavg[
    'lavg_5']=con[1]
  9.  
    loadavg[
    'lavg_15']=con[2]
  10.  
    loadavg[
    'nr']=con[3]
  11.  
    loadavg[
    'last_pid']=con[4]
  12.  
    return loadavg

运转时间 / Uptime
返回dict

 

  1.  
    #!/usr/bin/env python
  2.  
    def uptime_stat():
  3.  
    uptime = {}
  4.  
    f = open(
    "/proc/uptime")
  5.  
    con = f.read().split()
  6.  
    f.close()
  7.  
    all_sec = float(con[
    0])
  8.  
    MINUTE,HOUR,DAY =
    60,3600,86400
  9.  
    uptime[
    'day'] = int(all_sec / DAY )
  10.  
    uptime[
    'hour'] = int((all_sec % DAY) / HOUR)
  11.  
    uptime[
    'minute'] = int((all_sec % HOUR) / MINUTE)
  12.  
    uptime[
    'second'] = int(all_sec % MINUTE)
  13.  
    uptime[
    'Free rate'] = float(con[1]) / float(con[0])
  14.  
    return uptime

获取网卡流量信息 /proc/net/dev
返回dict,单位byte

 

  1.  
    #!/usr/bin/env python
  2.  
    def net_stat():
  3.  
    net = []
  4.  
    f = open(
    "/proc/net/dev")
  5.  
    lines = f.readlines()
  6.  
    f.close()
  7.  
    for line in lines[2:]:
  8.  
    con = line.split()
  9.  
    """
  10.  
    intf = {}
  11.  
    intf['interface'] = con[0].lstrip(":")
  12.  
    intf['ReceiveBytes'] = int(con[1])
  13.  
    intf['ReceivePackets'] = int(con[2])
  14.  
    intf['ReceiveErrs'] = int(con[3])
  15.  
    intf['ReceiveDrop'] = int(con[4])
  16.  
    intf['ReceiveFifo'] = int(con[5])
  17.  
    intf['ReceiveFrames'] = int(con[6])
  18.  
    intf['ReceiveCompressed'] = int(con[7])
  19.  
    intf['ReceiveMulticast'] = int(con[8])
  20.  
    intf['TransmitBytes'] = int(con[9])
  21.  
    intf['TransmitPackets'] = int(con[10])
  22.  
    intf['TransmitErrs'] = int(con[11])
  23.  
    intf['TransmitDrop'] = int(con[12])
  24.  
    intf['TransmitFifo'] = int(con[13])
  25.  
    intf['TransmitFrames'] = int(con[14])
  26.  
    intf['TransmitCompressed'] = int(con[15])
  27.  
    intf['TransmitMulticast'] = int(con[16])
  28.  
    """
  29.  
    intf = dict(
  30.  
    zip(
  31.  
    (
    'interface','ReceiveBytes','ReceivePackets',
  32.  
    'ReceiveErrs','ReceiveDrop','ReceiveFifo',
  33.  
    'ReceiveFrames','ReceiveCompressed','ReceiveMulticast',
  34.  
    'TransmitBytes','TransmitPackets','TransmitErrs',
  35.  
    'TransmitDrop', 'TransmitFifo','TransmitFrames',
  36.  
    'TransmitCompressed','TransmitMulticast' ),
  37.  
    ( con[
    0].rstrip(":"),int(con[1]),int(con[2]),
  38.  
    int(con[
    3]),int(con[4]),int(con[5]),
  39.  
    int(con[
    6]),int(con[7]),int(con[8]),
  40.  
    int(con[
    9]),int(con[10]),int(con[11]),
  41.  
    int(con[
    12]),int(con[13]),int(con[14]),
  42.  
    int(con[
    15]),int(con[16]), )
  43.  
    )
  44.  
    )
  45.  
     
  46.  
    net.append(intf)
  47.  
    return net

磁盘空间使用
使用内置python内置函数,返回dict,单位byte

 

  1.  
    #!/usr/bin/env python
  2.  
    def disk_stat():
  3.  
    import os
  4.  
    hd={}
  5.  
    disk = os.statvfs(
    "/")
  6.  
    hd[
    'available'] = disk.f_bsize * disk.f_bavail
  7.  
    hd[
    'capacity'] = disk.f_bsize * disk.f_blocks
  8.  
    hd[
    'used'] = disk.f_bsize * disk.f_bfree
  9.  
    return hd

 

posted on
2018-10-17 10:50 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/ruiy/p/9802727.html

你可能感兴趣的文章
Go语言int类型绑定方法
查看>>
pid控制的文章
查看>>
MySQL中EXPLAIN命令详解
查看>>
redis 单点部署
查看>>
Java中需要编码的场景
查看>>
PHP生成word的三种方式
查看>>
设计模式(九)——桥接模式
查看>>
xen 创建本地存储
查看>>
TCP三次握手/四次挥手 | NAT介绍 |OSI与TCP/IP模型
查看>>
jQuery UI dialog 的使用
查看>>
ABP实战--集成Ladp/AD认证
查看>>
存储过程
查看>>
phpcms v9栏目列表调用每一篇文章内容方法
查看>>
python 自定义信号处理器
查看>>
我只是轻奢 40万内入门豪车最高让利7万!-搜狐汽车
查看>>
曲演杂坛--隐式转换
查看>>
远程桌面连接技巧--与主机拷贝文本及拷贝文件(转)
查看>>
MVC中下拉框显示枚举项
查看>>
Linux基础精华
查看>>
SqlServer2008第一次安装后连接问题
查看>>