Python进程不释放内存

时间:2012-11-26 14:22:37

标签: python python-2.7 sqlalchemy

我有一个包含以下数据的词典,

my_dict = {'item_1': <generator object continuation_stripper at 0xda78640>,
           'only_display_attrs': <generator object continuation_stripper at 0xda78690>,
           'item_2': <generator object continuation_stripper at 0xda786e0>}

我试图遍历一个dict值only_display_attrs,这个dict值是一个生成器对象。

这是我的代码,

for item in my_dict['only_display_attrs']:
    yield i

注意:only_display_attrsSQLAlchemy生成器对象。

对于30,000行数据,此循环消耗最多1100 MB的内存,并且在手动终止进程之前不会释放内存。

任何人都可以帮助我理解背后的原因。

1 个答案:

答案 0 :(得分:1)

相关位是您对所产生的值所做的操作。如果你把它们放在一边,那么永远不会释放内存。但是在显示的代码中,没有内存被用完(除非continuation_stripper代码中有错误。)