非常大的numpy数组不会引发内存错误.它在哪里生活?

use*_*674 7 python memory numpy python-3.5

所以我有以下numpy数组:

X = np.zeros((1000000000, 3000), dtype=np.float32)
Run Code Online (Sandbox Code Playgroud)

X.nbytes返回12000000000000,即12 TB.

我当然没有那么多内存(确切地说是8GB).这怎么发生的?分配的数组在哪里?

Sra*_*raw 6

我想你正在使用Mac.OSX将自动将所有可用磁盘空间用作虚拟内存.那么也许你有一个biiiiiiig磁盘?

这段代码MemoryError在linux上引起.