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