请原谅我这个幼稚的问题。我正在尝试监视我的 python 代码的内存使用情况,并且遇到了有前途的memory_profiler
包。我有一个关于解释@profile 装饰器生成的输出的问题。
这是我通过运行下面的虚拟代码获得的示例输出:
假人.py
from memory_profiler import profile
@profile
def my_func():
a = [1] * (10 ** 6)
b = [2] * (2 * 10 ** 7)
del b
return a
if __name__ == '__main__':
my_func()
通过“python dummy.py”调用 dummy.py 会返回下表。
Line # Mem 使用增量行内容
3 8.2 MiB 0.0 MiB @profile
4 def my_func():
5 15.8 MiB 7.6 MiB a = [1] * (10 ** 6)
6 168.4 MiB 152.6 MiB b = [2] * (2 * 10 ** 7)
7 15.8 MiB -152.6 MiB del b
8 15.8 MiB 0.0 MiB return a
我的问题是表格第一行中的 8.2 MiB 对应什么。我的猜测是它是 python 解释器本身的初始内存使用;但我不确定。如果是这种情况,有没有办法让这个基线使用量自动从脚本的内存使用量中减去?
非常感谢您的时间和考虑!
能心