使用mmap读取非惰性文件?

时间:2014-11-26 17:57:59

标签: c linux gcc memory mmap

当您使用mmap从文件中读取时,它会执行惰性文件读取,即只将您从硬盘使用的数据带到RAM。现在,有没有什么方法可以强制整个文件立即被读入RAM?

1 个答案:

答案 0 :(得分:6)

来自mmap(2)手册页:

  

MAP_POPULATE (自Linux 2.5.46起)

     
    

填充(prefault)页面表以进行映射。对于文件映射,这会导致对文件进行预读。以后访问映射不会被页面错误阻止。自Linux 2.6.23起,私有映射支持 MAP_POPULATE