使用以下代码,我可以获得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列的当前值.
解决方法
使用
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()