Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 在python中打开数百万个numpy.memmaps_Memory_Python_Memory Limit_Ulimit - Fatal编程技术网

Memory 在python中打开数百万个numpy.memmaps

Memory 在python中打开数百万个numpy.memmaps,memory,python,memory-limit,ulimit,Memory,Python,Memory Limit,Ulimit,我有一个由数百万个培训示例组成的数据库。每个都保存为自己的numpy.memmap。(是的,是的,我知道,但它们的大小不规则。我可能会修改我的设计,将类似大小的示例放在一个memmap中,并向用户隐藏这一事实。) 试图打开此数据库会导致我运行到系统NOFILESlimits 现在我运行到OSError:[Errno 12]在创建了大约64865个memmaps之后无法分配内存,并且在该点之后执行大多数其他代码会导致内存错误。这很奇怪,因为进程在失败之前只需要1.1gib的内存,而这个服务器有近1

我有一个由数百万个培训示例组成的数据库。每个都保存为自己的
numpy.memmap
。(是的,是的,我知道,但它们的大小不规则。我可能会修改我的设计,将类似大小的示例放在一个memmap中,并向用户隐藏这一事实。)

试图打开此数据库会导致我运行到系统
NOFILES
limits

现在我运行到
OSError:[Errno 12]在创建了大约64865个memmaps之后无法分配内存
,并且在该点之后执行大多数其他代码会导致
内存错误
。这很奇怪,因为进程在失败之前只需要1.1gib的内存,而这个服务器有近100gib的内存

我已经在一个目录中保存了一百万个虚拟文件,并用python的标准
open
函数打开了它们,它工作得很好。在文件句柄和内容之间需要大约5Gib的内存,但它可以工作

什么会限制我只打开大约2^16个内存映射