Python脚本的内存性能分析器
我想知道有没有一种内存分析工具,可以分析我的Python脚本占用的内存,并告诉我随着时间的变化,内存的使用情况。
这样做的目的是为了能够把这些数据画成图表,从中得出一些结论。
在Python中,越简单越好。
谢谢。
2 个回答
0
你可以使用任何性能分析工具,比如其他回答中提到的mem-profile,或者用psutil也可以。你可以在你的代码中加上一些逻辑,来收集时间戳和当前的内存使用情况,之后再用这些数据来绘图。我只是提醒一下,以防你没注意到,希望对你有帮助。你可以查看这个回答 psutil获取内存,了解如何用psutil查询当前的内存使用情况。
2
查看这个链接: https://pypi.python.org/pypi/memory_profiler
只需要在你想要监控的每个函数前面加上 @profile 这个标记。
下面的内容是直接从上面的链接复制过来的:
example.py
@profile
def my_func():
a = [1] * (10 ** 6)
b = [2] * (2 * 10 ** 7)
del b
return a
if __name__ == '__main__':
my_func()
然后:
$ pip install memory_profiler
$ python -m memory_profiler example.py