Python 异常时内存泄漏

Python 异常时内存泄漏,python,pandas,memory-leaks,pandas-groupby,jupyter,Python,Pandas,Memory Leaks,Pandas Groupby,Jupyter,我在Jupyter实验室里运行一些围绕熊猫的图书馆 底层数据帧相当大(RAM中只有几Gb),在将子部分重新连接到一起之前,需要对数据帧的子部分进行大量的迭代处理 当使用试错法开发时,迭代会在数据帧的子部分的角落案例中引发异常。但是,每次引发异常时,我都会看到内存使用开始增加(htop),因此在引发太多异常后,我必须重新启动内核 对于最新的异常,sys.last_traceback在这些大对象上保留句柄(对于最新的异常),因此我假设我的大结构的句柄保存在某个地方,而不仅仅是最新的异常 你知道在哪里

我在Jupyter实验室里运行一些围绕熊猫的图书馆

底层数据帧相当大(RAM中只有几Gb),在将子部分重新连接到一起之前,需要对数据帧的子部分进行大量的迭代处理

当使用试错法开发时,迭代会在数据帧的子部分的角落案例中引发异常。但是,每次引发异常时,我都会看到内存使用开始增加(htop),因此在引发太多异常后,我必须重新启动内核

对于最新的异常,sys.last_traceback在这些大对象上保留句柄(对于最新的异常),因此我假设我的大结构的句柄保存在某个地方,而不仅仅是最新的异常


你知道在哪里挖掘吗?

jupyter
可能在其历史记录中保留了对数据帧的引用。但是如果没有看到运行(这将太多,无法复制粘贴),就很难诊断这些细节。谢谢@hpaulj确实我怀疑
Out
对象包含对所有遇到的异常的引用,以及对每个帧中遇到的所有对象的句柄。我将尝试用相应的
\u I
值清除字典,看看它是否有帮助……
jupyter
可能在其历史记录中保留对数据帧的引用。但是如果没有看到运行(这将太多,无法复制粘贴),就很难诊断这些细节。谢谢@hpaulj确实我怀疑
Out
对象包含对所有遇到的异常的引用,以及对每个帧中遇到的所有对象的句柄。我将尝试用相应的
\u I
值清除字典,看看它是否有帮助。。。