Python进程不释放内存

标签 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>}

我正在尝试循环一个字典值 only_display_attrs ,这个字典值是一个生成器对象。

这是我的代码,

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

注意:only_display_attrs 是一个 SQLAlchemy 生成器对象。

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

谁能帮我理解这背后的原因。

最佳答案

相关位是您如何处理产生的值。如果你把它们留在身边,那么内存将永远不会被释放。但是在显示的代码中,没有内存被用完(除非 continuation_stripper 代码中有错误)。

关于Python进程不释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13566776/

相关文章:

python - sklearn : shapes not aligned 中的值错误

python - NLTK - 使用上下文区分颜色和单词

python - 如何在 Pandas 的列中删除不包含字符串类型的行?

python-2.7 - 无法向 Kafka 发送大消息

python - 如何在带有条件if的sqlalchemy中使用条件运算符or_?

sqlalchemy - 如何将常量值列添加到 SQLAlchemy 查询响应?

python - 为什么调用动态库函数这么慢?

python - 从 numba jitted 函数调用非 jitted 函数

python-2.7 - PhotoImage 实例没有属性 'resize'

python - 使用 SQLAlchemy 时如何关闭 MySQL 查询缓存?