python获得linux服务器的内存使用率,虚拟内存使用率,pythonlinux,python获得linu


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_percentdef usage_percent(use, total):    try:        ret = (float(use) / total) * 100    except ZeroDivisionError:        raise Exception("ERROR - zero division error")    return ret

评论关闭