如何在python 2.7中导致内存错误?
我在一个有128KB内存的系统上工作,我的一个脚本偶尔会导致ERRNO 12无法分配内存错误 我想测试一些解决方案 但是,当问题似乎每天随机发生一次时,我如何复制它呢 任何会导致ERRNO 12无法分配内存错误的错误脚本如何在python 2.7中导致内存错误?,python,python-2.7,testing,memory-management,out-of-memory,Python,Python 2.7,Testing,Memory Management,Out Of Memory,我在一个有128KB内存的系统上工作,我的一个脚本偶尔会导致ERRNO 12无法分配内存错误 我想测试一些解决方案 但是,当问题似乎每天随机发生一次时,我如何复制它呢 任何会导致ERRNO 12无法分配内存错误的错误脚本 大多数帖子都试图解决内存错误,我想让其中一篇来测试我的代码的健壮性。如果你想强制Python耗尽内存,那么不管有多少内存可用,这应该会很快发生: x = [None] while True: x += x 这将使每次迭代的x长度加倍,直到失败。Mmmm类似[None]
大多数帖子都试图解决内存错误,我想让其中一篇来测试我的代码的健壮性。如果你想强制Python耗尽内存,那么不管有多少内存可用,这应该会很快发生:
x = [None]
while True:
x += x
这将使每次迭代的
x
长度加倍,直到失败。Mmmm类似[None]*100000000
?我假设您正在使用micropython?您是否尝试过将足够大的文本文件读入字符串变量?OpenWRT嵌入式设备上的python 2.7虽然创建MemoryError很容易,但我不认为这样做如何帮助您解决问题。MemoryError通常(并非总是)会使应用程序处于不希望的、未定义的状态,这可能会在以后导致问题。这使得此类错误很难恢复。您是想完全耗尽内存还是想获取内存错误
?在第一种情况下,您的系统可能完全崩溃,您将无法捕获它。我可以抛出并捕获内存错误的唯一方法是使用32位版本的python,它最多使用4GB的ram。