我正在尝试mmap一些大文件但失败了:我无法映射任何大于 2.7 GB 左右的文件。
通过这样做ulimit -a,它说我的虚拟内存是无限的。然后cat /proc/meminfo我说我的系统有 3GB Memfree 和 2GB Swapfree。
我假设我可以映射一个最大 5GB 的文件。我尝试了我在互联网上学到的所有东西,包括使用MAP_NORESERVEflag 和 set overcommit_memoryto 1。还是一样的Cannot allocate memory,什么可能出错?
我正在使用 64 位 cpu 和 32 位 linux 系统。如果您需要更多信息,请告诉我。我真的很感激任何建议或提示。