【发布时间】:2014-01-02 17:57:14
【问题描述】:
我曾经在 32 位操作系统上运行 32 位 python,每当我不小心将值附加到无限列表中的数组或尝试加载太大的文件时,python 都会因内存不足错误而停止。但是,我现在在 64 位操作系统上使用 64 位 python,python 没有给出异常,而是用尽了最后一点内存并导致我的计算机死机,所以我不得不重新启动它。
我查看了堆栈溢出,似乎没有控制内存使用或限制内存使用的好方法。例如,这个解决方案:How to set memory limit for thread or process in python? 限制了 python 可以使用的资源,但是粘贴到我想写的每一段代码中是不切实际的。
如何防止这种情况发生?
【问题讨论】:
-
什么操作系统?你有多少交换空间?
-
@mgilson Windows 8。我不确定交换空间是什么,因为根据谷歌,它似乎适用于 linux。
-
您可以在
PYTHONSTARTUP文件中添加节来设置内存限制 - 这将有助于您运行。 stackoverflow.com/a/5837597/148870 -
@Amber 我不太确定启动脚本是什么或如何限制内存使用。我以前从未使用过。谷歌上有一些具体的例子,但没有一个解释如何限制内存。您能否详细说明解决方案?
-
这里也有同样的问题...
标签: python out-of-memory freeze