菜单

python获得linux服务器的内部存款和储蓄器使用率,虚拟内部存款和储蓄器使用率

2019年5月15日 - www6165com

金沙国际,python得到linux服务器的内部存款和储蓄器使用率,虚拟内部存款和储蓄器使用率.
linux系统的内部存款和储蓄器占用音讯在/proc/meminfo文件中。
您能够展开那个文件会看出越来越多详细的新闻。

def get_mem_usage_percent():
    try:
        f = open('/proc/meminfo', 'r')
        for line in f:
            if line.startswith('MemTotal:'):
                mem_total = int(line.split()[1])
            elif line.startswith('MemFree:'):
                mem_free = int(line.split()[1])
            elif line.startswith('Buffers:'):
                mem_buffer = int(line.split()[1])
            elif line.startswith('Cached:'):
                mem_cache = int(line.split()[1])
            elif line.startswith('SwapTotal:'):
                vmem_total = int(line.split()[1])
            elif line.startswith('SwapFree:'):
                vmem_free = int(line.split()[1])
            else:
                continue
        f.close()
    except:
        return None
    physical_percent = usage_percent(mem_total - (mem_free + mem_buffer + mem_cache), mem_total)
    virtual_percent = 0
    if vmem_total > 0:
        virtual_percent = usage_percent((vmem_total - vmem_free), vmem_total)
    return physical_percent, virtual_percent

def usage_percent(use, total):
    try:
        ret = (float(use) / total) * 100
    except ZeroDivisionError:
        raise Exception("ERROR - zero division error")
    return ret

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图