python获得linux服务器的内存使用率,虚拟内存使用率详解编程语言

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/8209.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论