我有一个Python脚本,我想测量它使用的内存量。我试过memory_profiler
,但我找不到合适的选择。
我想要一些我可以用作的东西:
results = {}
for i in range(10):
l = [1]*i*1000
memory = compute_used_memory()
results[i] = memory
以了解在程序的不同阶段使用的内存量。
修改 我没有太多经验,但我会尝试更好地解释问题。我需要在一台机器上部署我的代码,我只能访问有限的内存(例如1 GB)。因此,我需要知道我的代码将使用多少内存。随着代码将逐渐增加复杂性,我需要确保使用的内存量收敛到最大值。出于这个原因,我需要测量在执行的不同阶段使用的内存量如何变化,在这种情况下由for循环表示 。
答案 0 :(得分:2)
答案 1 :(得分:0)
我猜Python3所以尝试使用"资源"模块。 getrusage功能应该为您提供所需的功能。
示例编辑:
import resource
for i in range(10):
l = [1] * i * 1000
memory = resource.getrusage(resource.RUSAGE_SELF)
print(memory.ru_utime)
该函数返回一个具有各种属性的对象,您可以访问它们(查看每个属性的文档)。