如何获取进程的内存使用百分比?

前端之家收集整理的这篇文章主要介绍了如何获取进程的内存使用百分比?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用以下代码,我可以获得MiB中给定进程的内存消耗:
def memory_usage_psutil():
    # return the memory usage in MB
    import psutil
    process = psutil.Process(os.getpid())
    mem = process.get_memory_info()[0] / float(2 ** 20)
    return mem

如何更改此值以返回内存消耗百分比?

更新:在终端中为特定进程执行top命令时,我需要获取%MEM列的当前值.

示例:我需要此函数返回14.2以获取VirtualBox进程的进程ID.

解决方法

使用 process.memory_percent()

这与top一致.在下面的测试脚本中,您可以将参数更改为定义consume_memory数组的范围函数,该数组仅用于使用内存进行测试,并且python输出和顶部输出都将匹配:

import os
import psutil

def memory_usage_psutil():
    # return the memory usage in percentage like top
    process = psutil.Process(os.getpid())
    mem = process.memory_percent()
    return mem

consume_memory = range(20*1000*1000)

while True:
    print memory_usage_psutil()

猜你在找的Linux相关文章