在 jupiter notebook 中 del 后释放内存

use*_*780 3 ipython jupyter-notebook

我已经使用del list_of_df. 但是我们意识到内容仍然占用内存。所以我们尝试了%reset list_of_df,但是之前的变量名已经不存在了......除了重新启动内核以重新收集内存之外我们无能为力吗?谢谢

进一步:更一般地说,我可能已经忘记了从巨大的木星笔记本代码中删除的内容。是否可以检查删除了哪些内容但仍然占用内存并删除它?

tel*_*tel 5

Python 不像 C(例如),你必须手动释放内存。相反,所有内存分配和释放任务都由垃圾收集(GC) 例程在后台自动处理。GC 使用惰性求值,这意味着内存可能不会立即释放,而是仅在“需要”时才会释放(无论如何,在理想情况下)。

你不应该在生产代码中使用它,但如果你真的想要,在你del的列表之后,你可以使用gc模块强制 GC 运行:

import gc
gc.collect()
Run Code Online (Sandbox Code Playgroud)

但是,由于许多不同的原因,它实际上可能无法工作/释放内存。一般来说,最好让 Python 自动管理内存而不是干涉。