numpy 如何提高笔记本电脑的内存限制?

g2ieeal7  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(124)

我在Windows 10上使用Jupyter笔记本和Python 3。我的电脑有8GB的RAM,至少有4GB的RAM是免费的。
但是当我想用这个命令创建一个大小为6000*6000的numpy ndArray时:np.zeros((6000, 6000), dtype='float64')我得到了这个:Unable to allocate array with shape (6000, 6000) and data type float64
我不认为这可以使用超过100MB的RAM。我试图改变数字,看看会发生什么。我可以做的最大数组是(5000,5000)。我犯了一个错误,估计我需要多少RAM?

vhipe2zx

vhipe2zx1#

笔记本电脑有默认的内存限制大小。您可以尝试通过以下步骤增加内存限制:
1.使用以下命令生成配置文件:

jupyter notebook --generate-config

字符串
1.打开位于jupyter文件夹中的jupyter_notebook_config.py文件,并编辑以下属性:

NotebookApp.max_buffer_size = your desired value


请记住删除属性值之前的#
1.保存并运行xmlyter笔记本。它现在应该能够利用设置的内存值。另外,不要忘记从xmlyter文件夹中运行笔记本。
或者,您可以简单地使用下面的命令运行笔记本:

jupyter notebook --NotebookApp.max_buffer_size=your_value

tgabmvqs

tgabmvqs2#

对于Quixyter,您需要考虑2个过程:
1.本地HTTP服务器(基于Tornado)
1.内核进程(通常是本地的,但也可以是分布式的,这取决于你的配置)。

**max_buffer_size**是Tornado Web服务器设置,对应于要缓冲的最大传入数据量,默认值为100 MB(104857600)。(https://www.tornadoweb.org/en/stable/httpserver.html

基于此PR,此值在Notebook中似乎已增加到500 MB。
据我所知,Tornado HTTP服务器不允许定义最大内存,它作为Python3进程运行。
对于内核,您应该查看命令定义的内核规范。
一个可以尝试的选项是one

相关问题