我pandas.DataFrame
在多线程代码中使用(实际上是DataFrame
被调用的自定义子类Sound
)。我注意到我有内存泄漏,因为我的程序的内存使用量逐渐增加超过 1000 万,最终达到我的计算机内存的 ~100% 并崩溃。
我使用objgraph尝试跟踪此泄漏,并发现实例的数量MyDataFrame
一直在增加,而它不应该:其run
方法中的每个线程都创建一个实例,进行一些计算,将结果保存在一个文件中并退出......所以不应该保留任何引用。
使用objgraph
我发现内存中的所有数据帧都有类似的参考图:
我不知道这是否正常……看起来这就是将我的对象保存在内存中的原因。任何想法,建议,见解?