python - Numpy load() 内存溢出导致段错误

标签 python numpy

使用以下代码会导致内存溢出:

import numpy as np

a = np.arange(10000000)
np.save('a', a)

l = []
while True:
    l.append(np.load('a.npy'))

Python 错误出段错误,而不是内存错误。对于像 AWS EC2 这样没有交换内存的机器来说似乎就是这种情况(我尝试过使用具有更多 RAM 和交换内存的机器,但出现了 MemoryError)。

最佳答案

我在下面为您提供了多种资源供您浏览,但是通常这在很大程度上取决于操作系统/系统SegFlts

简单答案:您可能会得到它,因为您尝试访问内存中不存在的内存地址当您的内存模块出现问题或由于以下任何原因时,也可能会出现segFaults(这些应该可以消除您的疑虑):

查看:Segfault instead of MemoryError when bytearray too big

另外,为什么会出现段错误? Possible answer

追踪 SegFault(如果您仍然觉得有些可疑!):python tracing a segmentation fault

引用:Similar question

提出的问题实际上很广泛,因为它的答案可能需要几页的解释(因此添加了相关链接)。

关于python - Numpy load() 内存溢出导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37367047/

相关文章:

python - Sublime Text 2 python SublimeREPL

python - deeplab在自己的数据集上训练时从检查点恢复失败

python - 重建 numpy 数组,需要更快的方法

python - 如何解决类型错误: 'numpy.ndarray' object is not callable on Python

python - 检查 numpy 数组是否全部非负的最佳方法

python - 如何从文件夹中读取多个numpy数组

Python Flask,使用重新加载器重新启动 : What does that mean

python - 将 logger.exception 更改为 level=CRITICAL 而不是 ERROR?

python - Weka python 包装器加载器

arrays - numpy 加载引发 "AttributeError: ' 模块的对象没有属性 'expr' “