【问题标题】:How to clear memory after running cell in IPython notebook如何在 IPython 笔记本中运行单元后清除内存
【发布时间】:2021-01-19 20:45:48
【问题描述】:

我在 IPython 笔记本中运行一个单元,python3 的内存使用量增加了 ~100MB。在我再次运行它之后,python3 的内存使用量再次增加了约 100MB。运行几次后,我的计算机内存不足,程序崩溃。

我可以通过重置 IPython 内核来解决这个问题,但是我会丢失整个笔记本的状态。有没有办法在我重新运行单元时清除该特定单元使用的内存,这样旧的运行就不会累积到我的计算机崩溃?

【问题讨论】:

    标签: python memory-management jupyter-notebook out-of-memory ipython


    【解决方案1】:

    import gc; gc.collect() 添加到单元格的开头可以解决问题。

    【讨论】:

    • 我见过有人这样做,但我不明白为什么会这样。 Python(准确地说是 CPython)应该在删除对它的最后一个引用后立即从内存中删除每个变量。因为它是一个 Jupyter 笔记本,所以所有变量都是全局的。那么为什么在运行gc.collect() 时会删除任何内容?
    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    相关资源
    最近更新 更多