当在 linux 中使用 open() 函数打开文件时,操作系统是否将所有文件 block 都带到缓存中?
最佳答案
据我所知,内核不会在 open(2) 上系统地运行将所有文件 block 放入其页面缓存中(特别是,这不适用于大于可用 RAM 的文件)。
但它可能会带来一些。我想对于大多数(小)文件来说,也许所有的 block 都可以被读取。但我可能是错的,它是高度系统特定的(也是特定配置的)。
另见 O_DIRECT
标志 open(2) & posix_fadvise(2)和 mount(8) 的选项
关于linux - 打开文件时在 linux 中会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39071709/