创建内存映射文件的数量限制

程序中需要创建大量的内存映射临时文件,用于存放数据。

测试过程中,发现系统对内存映射文件的数量和大小都有限制,尤其是数量,有的电脑可创建五六百个,有的电脑只能两三百个,总的大小都不超过2G。

超过限制之后,要么在创建内存映射时失败,要么软件不稳定,容易卡死或崩溃。

请问如何知道当前系统允许创建的内存映射的数量和总的大小?

32bit系统单进程最大2GB地址空间
64bit几乎可以认为没有限制。

这是不是操作系统的句柄数限制,不同的系统句柄数限制不同,可以设置高一点。

改成64位的程序,再测试一下,因为系统限制,86的程序内存有限制。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^