我有一段代码可以很好地循环一次或两次,但最终它会建立内存。我试图用 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/