使用pandas datafram的内存泄漏

2024-05-21 01:12:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在多线程代码中使用pandas.DataFrame(实际上是DataFrame的一个自定义子类,名为Sound)。我注意到我有内存泄漏,因为我的程序的内存使用量逐渐增加了超过10mn,最终达到了我计算机内存的100%并崩溃。

我用objgraph试图跟踪这个漏洞,发现MyDataFrame的实例数一直在上升,而不应该上升:它的run方法中的每个线程都创建一个实例,进行一些计算,将结果保存到一个文件并退出。。。因此不应保留任何参考资料。

使用objgraph我发现内存中的所有数据帧都有一个类似的引用图:

enter image description here

我不知道这是否正常。。。看起来这就是我记忆中的东西。有什么想法,建议,见解吗?


Tags: 实例方法内存run代码objgraph程序dataframe
1条回答
网友
1楼 · 发布于 2024-05-21 01:12:27

确认索引基础结构中存在某种内存泄漏。这是由上述参考图引起的而不是。让我们将讨论转移到GitHub(问答也是如此):

https://github.com/pydata/pandas/issues/2659

编辑:这看起来根本不是内存泄漏,但可能与操作系统内存分配问题有关。有关更多信息,请查看github问题

相关问题 更多 >