首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于监视/proc/diskstats的Python库?

用于监视/proc/diskstats的Python库?
EN

Stack Overflow用户
提问于 2010-07-25 20:21:58
回答 3查看 5.8K关注 0票数 5

我想通过python程序监视系统IO负载,访问与linux的/proc/diskstats中提供的统计数据类似的统计数据(尽管很明显,跨平台库会很棒)。有没有python库可以用来查询linux上的磁盘IO统计数据?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-22 05:44:01

以防其他人试图像Alex建议的那样使用Python解析/proc/diskstats:

代码语言:javascript
复制
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', 'mm', 'dev', 'reads', 'rd_sectors', 'writes', '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
票数 10
EN

Stack Overflow用户

发布于 2010-07-26 00:04:10

定期读取/proc/diskstats有什么错,比如使用sched每分钟重复一次操作或其他什么?Linux的procfs很棒,因为它为内核提供了一种文本方式来向用户程序提供信息,因为文本在各种语言中都是最容易阅读和使用的……

票数 2
EN

Stack Overflow用户

发布于 2010-08-17 03:33:40

我还没有看到库,但您可能想要查看名为"dstat“1的Python工具,该工具用于读取Linux内核统计信息。

1- http://dag.wieers.com/home-made/dstat/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3329165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档