一旦我的 ipython 内核在 16GB 的 linux 机器上达到 3Gb,我就会不断收到 MemoryError: cannot allocate memory for array
。你能告诉我我遗漏了什么吗?
顶部:
KiB Mem: 16599788 total, 5128780 used, 11471008 free, 114840 buffers
限制:
ihadanny@ubuntu:~$ ulimit
unlimited
版本:
ihadanny@ubuntu:~$ ipython --version
4.0.1
ihadanny@ubuntu:~$ python --version
Python 2.7.6
ihadanny@ubuntu:~$ cat /etc/*rel*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"
违规过程:
ihadanny@ubuntu:~$ cat /proc/2744/status | grep Vm
VmPeak: 2975748 kB
VmSize: 2817768 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 2864780 kB
VmRSS: 2688496 kB
VmData: 2772776 kB
VmStk: 144 kB
VmExe: 2704 kB
VmLib: 37560 kB
VmPTE: 5436 kB
VmSwap: 0 kB
最佳答案
问题是您在 64 位系统上安装了 32 位版本的 Ubuntu。 32 位程序无法寻址大于 4GB 的内存。
因此,假设您使用的是 Ubuntu Server,则需要重新下载 64 位版本,here .目前,Ubuntu Server 仅支持 64 位。如果您使用的是 Ubuntu 桌面,请转到 here并下载“64 位——推荐”版本。
安装正确版本的 Ubuntu 后,默认安装 64 位 Python。
关于python - ipython 内核在 16gb 的 linux 盒子中最大容量为 3gb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34838195/