【发布时间】:2015-12-19 19:52:33
【问题描述】:
我知道有很多 numpy 内存错误主题,所以我希望我没有重复任何内容。我正在尝试使用np.zeros((500000,10000)) 创建一个 np 数组。这在我的内存为 16G 的 Mac 上运行良好,但在内存为 28G 的 Linux 服务器上,它会立即以Memory Error 失败。我已经验证我正在运行 64 位版本的 Ubuntu 和 Python,并且我使用的是 Numpy 1.9.3。我注意到系统之间的唯一区别(除了明显的区别)是在运行 ulimit -a 时,我得到:
Linux:max locked memory (kbytes, -l) 64
Mac:max locked memory (kbytes, -l) unlimited
这可能是我无法运行此命令的原因吗?如果没有,我是否缺少其他一些配置选项?
【问题讨论】:
-
服务器是你的还是你刚刚使用的主机由别人管理?
-
它在 AWS 但我有 sudo 访问权限
-
好吧,你会想读像this这样的东西。您似乎已被管理员锁定。我不知道您是否可以自己影响这一点,或者需要向贝佐斯寻求帮助,但您走在正确的轨道上。祝你好运。
-
@ShawnMehan 这是几个月后的事,但当我尝试这样做时,结果发现我没有虚拟内存。我不得不哄骗我的系统管理员给我 20GB,但在那之后它就起作用了 :)
-
OS X Mavericks 和更高版本也有一些新的内存管理。根据我的经验,我发现它允许我分配大量内存,否则会导致
malloc失败。不确定这是否相关。