Python之gc 垃圾回收机制
在Python中,为了解决内存泄露问题,采用了对象引用计数,并基于引用计数实现自动垃圾回收。
#garbage collector to keep RAM in check
import gc
最近在kaggle kernel上跑程序,kernel commit以后跑到一半就显示完成了,且没有任何报错。这是内存/显存/硬盘不足导致的。
对已经销毁的对象,Python不会自动释放其占据的内存空间。
为了能够充分地利用分配的内存,避免程序跑到一半停止,要时不时地进行内存回收,这时候**gc(garbage collector)**就隆重登场啦!
用gc模块进行垃圾回收非常简单,如下所示:
# 加载gc模块
import gc
# 垃圾回收
# gc.collect() 返回处理这些循环引用一共释放掉的对象个数
gc.collect()
keep in check 及时控制
Reference
1.jihite https://www.cnblogs.com/kaituorensheng/p/4449457.html
2.Littletree_Zou https://www.jianshu.com/p/b6a20c812ce4
Python通过引用计数实现自动垃圾回收,防止内存泄漏。当遇到资源紧张的情况,可以手动调用`gc.collect()`进行内存回收。在kaggle运行程序时,若出现中途停止可能是因为内存不足,适时使用gc模块能有效管理内存。
1938

被折叠的 条评论
为什么被折叠?



