加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

用于监控/ proc / diskstats的Python库?

发布时间:2020-12-13 19:22:03 所属栏目:Linux 来源:网络整理
导读:我想从python程序监视系统IO负载,访问类似于linux中/ proc / diskstats中提供的统计信息(尽管显然跨平台库会很棒).是否有一个现有的python库可以用来查询linux上的磁盘IO统计信息? 最佳答案 万一其他人试图用Python解析/ proc / diskstats像Alex建议: def

我想从python程序监视系统IO负载,访问类似于linux中/ proc / diskstats中提供的统计信息(尽管显然跨平台库会很棒).是否有一个现有的python库可以用来查询linux上的磁盘IO统计信息?

最佳答案
万一其他人试图用Python解析/ proc / diskstats像Alex建议:

def diskstats_parse(dev=None):
    file_path = '/proc/diskstats'
    result = {}

    # ref: http://lxr.osuosl.org/source/Documentation/iostats.txt
    columns_disk = ['m','mm','dev','reads','rd_mrg','rd_sectors','ms_reading','writes','wr_mrg','wr_sectors','ms_writing','cur_ios','ms_doing_io','ms_weighted']

    columns_partition = ['m','wr_sectors']

    lines = open(file_path,'r').readlines()
    for line in lines:
        if line == '': continue
        split = line.split()
        if len(split) == len(columns_disk):
            columns = columns_disk
        elif len(split) == len(columns_partition):
            columns = columns_partition
        else:
            # No match
            continue

        data = dict(zip(columns,split))
        if dev != None and dev != data['dev']:
            continue
        for key in data:
            if key != 'dev':
                data[key] = int(data[key])
        result[data['dev']] = data

    return result

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读