本文介绍: 笔者在实际应用过程中,利用python解析交易数据,其中的方法是对文件夹进行遍历,然后根据里面的每个文件进行单独的解析,也就是用到了多层循环,结果导致内存占用越来越大,以至于最终内存满了而程序崩溃退出。但是因为笔者的程序调用了外部API,这个相对比较难查找,因此弃用。在上述代码中,每次使用os.system进行调用之后,都会自动进行内存资源的回收。笔者查询了好多方法,包括直接使用gc进行内存回收, gc.collect()而很明显的一个现象就是程序人工中断退出之后,内存快速回收。
笔者在实际应用过程中,利用python解析交易数据,其中的方法是对文件夹进行遍历,然后根据里面的每个文件进行单独的解析,也就是用到了多层循环,结果导致内存占用越来越大,以至于最终内存满了而程序崩溃退出。
笔者查询了好多方法,包括直接使用gc进行内存回收, gc.collect()
但是还是不起作用。而很明显的一个现象就是程序人工中断退出之后,内存快速回收。
所以最终想了个办法就是使用python进行单独调用,具体方法如下:
如想查看详细代码,请详阅:python程序内存泄漏的解决方法 | 老五笔记
在上述代码中,每次使用os.system进行调用之后,都会自动进行内存资源的回收。
所以上面的解决办法也只能算是一种折中办法。
之前还看到一篇文章说的是利用 pympler进行查找内存泄漏的位置。但是因为笔者的程序调用了外部API,这个相对比较难查找,因此弃用。
原文地址:https://blog.csdn.net/booklijian/article/details/134742359
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_30376.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。