程序中需要创建大量的内存映射临时文件,用于存放数据。
测试过程中,发现系统对内存映射文件的数量和大小都有限制,尤其是数量,有的电脑可创建五六百个,有的电脑只能两三百个,总的大小都不超过2G。
超过限制之后,要么在创建内存映射时失败,要么软件不稳定,容易卡死或崩溃。
请问如何知道当前系统允许创建的内存映射的数量和总的大小?
32bit系统单进程最大2GB地址空间
64bit几乎可以认为没有限制。
这是不是操作系统的句柄数限制,不同的系统句柄数限制不同,可以设置高一点。
改成64位的程序,再测试一下,因为系统限制,86的程序内存有限制。
不知道你这个问题是否已经解决, 如果还没有解决的话: