Python2.7 - 当OrderedDict键是元组时如何修复内存泄漏

时间:2016-07-29 22:08:19

标签: python memory-leaks

考虑以下代码

from collections import OrderedDict
import gc
gc.set_debug(gc.DEBUG_UNCOLLECTABLE | gc.DEBUG_SAVEALL)

def main():

    leaking = OrderedDict()
    leaking[('x', 'y')] = 4
    leaking[('z', 'w')] = 4
    return

main()
gc.collect()
print(gc.garbage)

可以看到记忆正在泄漏, 使用objgraph似乎是由OrderedDict中的循环引用引起的,这似乎与python http://bugs.python.org/issue9825中的这个旧错误有关(但标记为已关闭)

使用leaking.clear()似乎没有帮助

这是一个已知的错误吗?有没有办法让我解决它(有序指令由第三方库返回)?

我正在使用python 2.7.10

0 个答案:

没有答案