python 列表在清除列表元素后不释放内存

python list not deallocating memory after clearing the element of the list

我在用 python 2.7 编写的长 运行 python 脚本中使用了很多列表。 我正在使用 pympler 来识别泄漏的内存,我发现列表对象内存正在增加。但是我在每次迭代中都清除了所有列表。 RES 内存正在增加 largely.After 3 分钟的执行时间,脚本占用 130 MB 的 RES 内存,我已经清除了所有列表并删除了每个列表中引用的所有对象迭代。 我使用以下方法清除列表:

   del list1[:]

我删除了使用以下方法引用的对象:

   obj=demo_class()
   some code
   del obj

请帮我减少 RES 内存?

谢谢 PyNico,我曾尝试删除对对象的引用并手动使用 gc.collect(),但没有效果。

我在 script.when i 运行 我的脚本中使用了 4 个字典来查找内存泄漏,我发现 列表对象的大小正在增加incredibly.And这些列表包含这些字典的键这些列表是否在python字典的构建实现中?

看看this.It解释为什么del关键字不清除内存->http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-delete-a-large-object.htm

您应该删除所有对对象的引用,然后使用 gc.collect()