Python内存限制

Python内存限制,python,memory,Python,Memory,很明显,Python中不可能有无限的内存。我正在写一个创建字典列表的脚本。但每个列表有25万到600万个对象,其中有6个列表 是否有一种方法可以根据机器的RAM实际计算最大内存和运行脚本所需的内存 我遇到的实际问题是: 在运行一个用125-150万个字典填充列表的脚本时,当它达到1.227。。。它只是停止,但不返回错误,更不用说MemoryError了。所以我甚至不确定这是否是内存限制。我有打印语句,所以我可以观察正在发生的事情,它似乎永远缓冲,因为没有任何东西在打印,直到特定的部分,代码每秒运

很明显,Python中不可能有无限的内存。我正在写一个创建字典列表的脚本。但每个列表有25万到600万个对象,其中有6个列表

是否有一种方法可以根据机器的RAM实际计算最大内存和运行脚本所需的内存

我遇到的实际问题是:
在运行一个用125-150万个字典填充列表的脚本时,当它达到1.227。。。它只是停止,但不返回错误,更不用说MemoryError了。所以我甚至不确定这是否是内存限制。我有打印语句,所以我可以观察正在发生的事情,它似乎永远缓冲,因为没有任何东西在打印,直到特定的部分,代码每秒运行几千行。你知道是什么让它停止了吗?这是内存还是其他东西?

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


如果导入sys模块,则可以访问该功能。您必须查看列表中的每个对象,并为每个字典计算每个键的值。有关此问题的更多信息,请参见上一个问题-。

您必须查看每个列表中存储的对象以及占用的空间。sys.getsizeof应该让您启动此特定列表中的每个对象从sys返回72。getsizeofobject@inspectorG4dget如何使用此信息来确定停止的原因。我有4GB内存,如果这有什么区别的话。@RyanSaxe:你在用什么操作系统?还有多少内存可供进程使用?@RyanSaxe:72字节只是dict对象,而不是它的内容。您还必须获得键的大小和值。