使用以下代码,我可以获得给定进程的内存消耗(以 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
如何更改它以返回内存消耗的百分比?
Update:我需要获取当前值%MEM
执行时的列top
终端中针对特定进程的命令。
Example:我需要这个函数返回 14.2 作为 VirtualBox 进程的进程 ID。
use process.memory_percent() https://pythonhosted.org/psutil/_modules/psutil.html#Process.memory_percent
这一点与top一致。在下面的测试脚本中,您可以将参数更改为定义范围函数consume_memory
array,它只是为了测试而使用内存,并且 python 输出和 top 输出都将匹配:
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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)