![使用 noatime 挂载文件系统的缺点?](https://linux22.com/image/489520/%E4%BD%BF%E7%94%A8%20noatime%20%E6%8C%82%E8%BD%BD%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E7%BC%BA%E7%82%B9%EF%BC%9F.png)
在访问每个文件时都进行更新听起来有点浪费。
使用 noatime 选项挂载文件系统有什么问题。哪些类型的应用程序/服务器依赖于访问时间?
答案1
考虑相对时间:
如果你有较新的安装(~2008),你可以使用相对时间mount 选项。我认为这对于 atime 来说是一个很好的折衷方案。kerneltrap 讨论关于实施这一新选项:
“如果前一个 atime 比 mtime 或 ctime 更旧,则相对 atime 仅更新 atime。类似 noatime,但对于像 mutt 这样需要知道文件自上次修改以来何时被读取的应用程序很有用。”
这样,大多数需要 atime 的应用程序仍可工作,但会减少磁盘负载 —— 所以这是一个折衷方案。这是最新 Ubuntu 桌面发行版的默认设置。
关于noatime和nodiratime:
如果你要去诺亚泰对于文件,我想知道是否有理由不使用诺迪拉蒂梅此外诺亚泰所以您也不会更新目录的访问时间。
保持 atime 启用的另一个原因(未提及)是为了审计目的。但由于WHO访问后不会保留,并且仅什么时候,对于审计跟踪来说,它可能没那么有用。
所有这些选项都可以在“man mount 8”中找到。
答案2
有些应用程序会在文件在一段时间内未被访问时将其移至辅助存储。显然,它们需要 atime。
除此之外,我不再认为它有多大用处,尤其是现在的文件管理器倾向于打开文件来生成预览,因此只需在浏览目录时修改访问时间。
这些天我总是和 noatime 一起骑车。
答案3
答案4
尚未提及的主要缺点是,如果您有一个 tmpreaper 进程(即删除 /tmp 中一段时间未访问的文件的程序),它可能会删除仍在使用的 tmp 文件。
relatime 是比 noatime 更好的选择。它仅当文件自上次 atime 更新以来已被修改时才更新 atime。这对于邮件客户端来说有明显的好处。但它仍然不能解决 tmpreaper 问题(文件可能在很长时间内从 /tmp 读取而不被写入)。
总体来说,缺点很小(除了少数特殊情况外不存在),而性能优势却很显著。