【导语】:Memray是一个可以检查Python代码内存分配情况的工具,我们可以使用它对Python解释器或扩展模块中的代码进行分析,并生成多种统计报告,从而更直观的看到代码的内存分配。
简介
开发者可以根据需要,生成多种统计报告,观察程序的内存分配。
-
总结报告
该报告会把多个线程的内存分配情况显示到同一个表格中,own memory
表示每个函数占用的内存,total memory
表示函数本身及其调用其他函数所占用的内存总量,allocation count
表示暂时未释放的内存个数。
总结报告
-
火焰图报告
该报告可以将内存分配数据可视化展示。火焰图的第一层是占用内存的函数, 宽度越大,则占用的内存越多;每一层的函数都被其下一层的函数所调用,依次类推。
-
示例代码:
def a(n):
return b(n)
def b(n):
return [c(n), d(n)]
def c(n):
return "a" * n
def d(n):
return "a" * n
a(100000)
-
生成的火焰图