缓存 atime 写入

缓存 atime 写入

有没有办法将atime写入设置为缓存很长时间?我需要atime(也就是说,relatime 不会削减它),但我不希望它对性能产生太大影响。在某些情况下(例如电源故障),有时(且仅有时)的数据丢失是可以接受的。

答案1

我发现lazytimeext4 的挂载选项可以满足我的需求。

https://lwn.net/Articles/620086/

此模式导致 atime、mtime 和 ctime 更新仅对 inode 的内存版本进行。磁盘时间仅在以下情况下才会更新:(a) 当需要更新 inode 的 inode 表块以进行涉及块中任何 inode 的某些与时间无关的更改时,(b) 如果用户空间调用 fsync(),或者(c) 未删除的 inode 上的引用计数变为零(在大多数情况下,当与 inode 关联的最后一个文件描述符关闭时)。

该选项自内核 4.0 起可用。

同样,有必要覆盖 的默认值relatime,否则您将获得relatime除 的缓存功能之外的功能lazytime。为此,请使用strictatimeAND挂载lazytime

相关内容