我在多线程代码中使用pandas.DataFrame
(实际上是名为DataFrame
的{{1}}的自定义子类。我注意到我有内存泄漏,因为我的程序的内存使用量逐渐增加超过1000万,最终达到我的计算机内存的100%并崩溃。
我使用objgraph尝试跟踪此泄漏,并发现Sound
的实例计数一直在上升,而不应该:MyDataFrame
中的每个线程}方法创建一个实例,进行一些计算,将结果保存在文件中并退出...所以不应保留任何引用。
使用run
我发现内存中的所有数据帧都有类似的参考图:
我不知道这是否正常......看起来这就是将我的物品留在记忆中的原因。任何想法,建议,见解?
答案 0 :(得分:8)
确认索引基础架构中存在某种内存泄漏。由上面的参考图引起的不是。让我们将讨论转移到GitHub(SO用于Q& A):
编辑:这实际上似乎根本不是内存泄漏,但可能与操作系统内存分配问题有关。有关更多信息,请查看github问题