如果我想要mmap一个10 GB的文件并立即将整个文件加载到物理内存中,我如何才能这样做?
我不想使用像mlock这样的函数,因为它需要根权限。
有能满足我需求的系统调用吗?
(我有足够的记忆力。)
发布于 2014-11-04 03:34:37
阅读mmap
MAP_POPULATE (自从Linux2.5.46之后) 填充用于映射的(故障前)页表。对于文件映射,这将导致对文件进行预读.以后对映射的访问不会因页面错误而被阻止。只有在Linux2.6.23之后才支持私有映射的
MAP_POPULATE
发出请求,为短时间等待做好准备(除非超出进程限制)(取决于磁盘带宽和缓存)。
https://stackoverflow.com/questions/26727209
复制相似问题