我有一个由数百万个训练示例组成的数据库。每个都保存为自己的numpy.memmap
。 (是的,是的,我知道,但它们的大小不规则。我可能会修改我的设计,将类似大小的示例放在一个内存映射中,并向用户隐藏这一事实。)
尝试打开此数据库会导致我进入系统NOFILES
限制,但我已经解决了那部分.
现在我正在跑去OSError: [Errno 12] Cannot allocate memory
创建大约 64865 个 memmap 之后,执行该点之后的大多数其他代码会导致MemoryError
。这很奇怪,因为该进程在失败之前只占用了 1.1 GiB 的内存,而该服务器有近 100 GiB 的内存。
我已经在一个目录中保存了一百万个虚拟文件,并使用 python 的标准打开它们open
功能,并且运行良好。文件句柄和内容之间占用大约 5 GiB 的内存,但它可以工作。
是什么限制我只能打开大约 2^16 内存映射?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)