我有一段代码可以很好地循环一次或两次,但最终它会建立内存。我试图用 memory_profiler 定位内存泄漏,结果如下:

row_nr    Memory_usage    Memory_diff    row_text
 470     52.699 MiB     0.000 MiB      ax.axis('off')
 471     167.504 MiB    114.805 MiB    fig.savefig('figname.png', dpi=600)
 472     167.504 MiB    0.000 MiB      fig.clf()
 473     109.711 MiB    -57.793 MiB    plt.close()
 474     109.711 MiB    0.000 MiB      gc.collect()`

我创建了这样的图形:fig, ax = plt.subplots()
有什么建议 109 - 52 = 57 MiB 去哪儿了?

我正在使用 python 3.3。

最佳答案

# Clear the current axes.
plt.cla()
# Clear the current figure.
plt.clf()
# Closes all the figure windows.
plt.close('all')

希望这可以帮到你

关于python - 在 savefig 和 close() 之后,Matplotlib 不释放内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31156578/

10-12 15:57