考虑到以下代码
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中的这个旧错误相一致(但它被标记为closed)
使用leaking.clear()
似乎没有帮助
是已知的臭虫吗?我这边有没有办法解决这个问题(ordereddict由第三方图书馆归还)?在
我使用的是python2.7.10
目前没有回答
相关问题 更多 >
编程相关推荐