如何跟踪 运行 Python 代码时使用的虚拟内存?

How to keep track of virtual memory used when running Python code?

我有一个 Python 包,我正在对使用的虚拟内存进行基准测试。

目前,这不是很准确。我提交脚本,例如

python script1.py

并查看执行所用的时间和资源。

是否有一些 package/method 可以找出我的 RAM 瓶颈在哪里?我正在考虑

这样的工具
ram_used python script1.py 

这将跟踪使用了多少 RAM。

有这种东西吗?

是的,有 - 它叫做 memory_profiler。一旦你完成并将 @profile 装饰器添加到你想要分析的函数中,你就可以使用;

python -m memory_profiler example.py

还有memory_infopsutilhttps://pythonhosted.org/psutil/

放在脚本开头:

import psutil
p = psutil.Process()

鉴于代码 运行 正确,请将其放在最后一行:

print(p.memory_info())