Python使用gc模块进行垃圾回收

最近在kaggle kernel上跑程序,kernel commit以后经常会跑到一半就显示完成了,且没有任何报错。大佬们说这是内存/显存/硬盘不足导致的,而我的问题则是由内存不足导致。

对已经销毁的对象,Python不会自动释放其占据的内存空间。为了能够充分地利用分配的内存,避免程序跑到一半停止,要时不时地进行内存回收,这时候gc(garbage collector)就隆重登场啦!

用gc模块进行垃圾回收非常简单,如下所示:

# 加载gc模块
import gc

# 垃圾回收
# gc.collect() 返回处理这些循环引用一共释放掉的对象个数
gc.collect()

更详细请参考:【Python】 垃圾回收机制和gc模块

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。