Python内存限制

时间:2014-01-13 22:13:54

标签: python memory

很明显,Python中没有无限的内存。我正在编写一个创建字典列表的脚本。但是每个列表都有250K到6M的对象(有6个列表)。

有没有办法实际计算(可能基于机器的RAM)运行脚本所需的最大内存和内存?

我遇到的实际问题:

在运行其中一个用1.25-1.5百万字典填充列表的脚本时,当它达到1.227时...它只是停止,但不返回任何错误,更不用说MemoryError了。所以我甚至不确定这是否是内存限制。我有打印语句,所以我可以看到正在发生的事情,它似乎永远缓冲,因为没有什么是打印和直到特定部分,代码每秒运行几千行。 关于什么使它停止的任何想法?这是记忆还是别的什么?

1 个答案:

答案 0 :(得分:2)

如果您需要存储那么多对象,则需要将它们存储在磁盘上,而不是存储在内存中。 考虑使用数据库

如果您导入sys模块,则可以访问sys.getsizeof()功能。您将不得不查看列表中的每个对象,并为每个字典计算每个键的值。有关详情,请参阅上一个问题 - In-memory size of a Python structure