linux - 打开文件时在 linux 中会发生什么?

标签 linux file caching

当在 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/

相关文章:

linux - RPM - 签名后修改包

linux - 如何提取 app.inventory.id 命令行参数的值?

django - 通过 Nginx 和 SEO 优化提供不会过期的内容

php - 我应该在 php 中缓存整个查询还是应该只缓存行的主键?

javascript - 我可以依赖 ETags 进行缓存控制吗

linux - 为什么无法删除文件?

linux - Docker 容器内的动态监听端口

java - 使用 File#length() 两个字节太多

python - 从文件加载矩阵 - Python

java - 在 Windows 中使用 Java 保护文件