标签: c linux gcc memory mmap
当您使用mmap从文件中读取时,它会执行惰性文件读取,即只将您从硬盘使用的数据带到RAM。现在,有没有什么方法可以强制整个文件立即被读入RAM?
答案 0 :(得分:6)
来自mmap(2)手册页:
mmap(2)
MAP_POPULATE (自Linux 2.5.46起) 填充(prefault)页面表以进行映射。对于文件映射,这会导致对文件进行预读。以后访问映射不会被页面错误阻止。自Linux 2.6.23起,私有映射支持 MAP_POPULATE 。
MAP_POPULATE (自Linux 2.5.46起)
填充(prefault)页面表以进行映射。对于文件映射,这会导致对文件进行预读。以后访问映射不会被页面错误阻止。自Linux 2.6.23起,私有映射支持 MAP_POPULATE 。