记一次python内存泄漏调查

最近股票模型扫全场股票数据回溯过去三个月的时候,扫到最后总会内存爆掉,搞得通知邮件也没发出来,持续了一周多,终于决定要把它解决了。
看看python内存泄露的调查方法,有tracemalloc/memory_profiler,试了下,tracemalloc倒是有点东西,可是也没看出来问题。
继续用memory_profiler,想看的方法上加@profile就可以。
结果很明显
774 370.2 MiB 0.0 MiB 1 pic_name = "./pic/"+check_ts_code+"_"+end_day+".jpg"
775 409.5 MiB 39.3 MiB 1 plt.savefig(pic_name)
776 409.5 MiB 0.0 MiB 1 return True,fx_plot[-1],pivots[-1][0][1],fx_time[pivots[0][2]],"buy",pic_name
在保存图片之后,没有清理plt,所以一直没释放,内存就堆积了。
在后面加上
fig.clf()
plt.close()
大功告成

你可能感兴趣的:(记一次python内存泄漏调查)