当 fadvise 存在时,ramdisk 的用途是什么?

当 fadvise 存在时,ramdisk 的用途是什么?

我的理解是fadvise将告诉系统指示的文件应该存储在文件系统缓存(RAM)中。

fadvise --willneed当您只能使用目录时,在 ramdisk 中挂载目录的目的是什么?

答案1

让我们读一读底层库调用的手册页

程序可以使用 posix_fadvise() 来宣布将来以特定模式访问文件数据的意图,从而允许内核执行适当的优化。

建议适用于从以下区域开始的(不一定存在)区域抵消并延伸至长度字节(或直到文件末尾,如果长度为 0) 在引用的文件中自由度建议不具有约束力;它仅仅代表应用程序的一种期望。

(重点已添加。)

根据设计,RAM 磁盘上的所有内容都保证位于 RAM 中(尽管 tmpfs 可以交换出去)。但 fadvise 只是建议;内核不需要将数据预加载到 RAM 中,也不需要始终将其保存在 RAM 中。

相关内容