noatime 在哪里可以安全使用?

noatime 在哪里可以安全使用?

我正在尝试优化我的新 fs 布局,我想知道在哪里使用是安全的noatime?我知道例如 mutt 使用访问/创建/修改时间,以及任何其他可能使用它的东西,无论在哪个目录中。

按照大量的指南,我根据不同的用例对目录进行了分区,但我真的不知道将 noatime 放在哪里才是安全的?

目录/标志:

/               defaults
   (/bin
    /sbin
    /lib*
    /etc
    /root
    /dev ...)

/boot           defaults
/boot/EFI       defaults

/usr            defaults,ro,nodev
                    NOTE: dpkg needs rw
/usr/share      defaults,ro,nodev,nosuid

/var            defaults,nodev
                    NOTE: /var/lib/dpkg/info -> exec
/var/tmp        defaults,nodev,nosuid,noexec
/var/log        defaults,nodev,nosuid,noexec

/opt            defaults,nodev

/tmp            defaults,nodev,nosuid,noexec
                    NOTE: some installer may need exec

/home           defaults,nodev,nosuid

答案1

据我所知,它确实是非常罕见的依赖于 atime 的程序,并且noatime几乎在任何地方使用都是安全的。

serverfault 问题关闭文件系统上的 atime说它基本上只是 mutt(当使用 mbox 邮箱时)并且有一个简单的解决方法,或者偶尔使用像 tmpwatch 或临时文件清理器这样的程序:

mutt 是一款电子邮件客户端,它使用文件访问时间来监控 mbox 格式邮箱中收到的新邮件。显然,这个问题并不严重,而且很容易解决。

除此之外,很难找到 noatime 导致的问题示例。我在所有文件系统上运行了许多带有 noatime 的 Linux 服务器,但我不记得曾经见过任何与 noatime 有关的问题。

并且使用noatime可以提高性能,可能比旧的 strictatime 提高很多(但仍然应该比今天的标准有一点帮助relatime,保存闪存/SSD 上的每次写入是件好事):

Linux:用 relatime 替换 atime

Jeremy 于 2007 年 8 月 7 日 - 上午 11:26 提交

在最近的 lkml 主题中,Linus Torvalds 参与了关于使用 noatime 选项挂载文件系统以获得更好性能的讨论,“'noatime,data=writeback' 很可能相当很明显(不同负载下效果不同),但几乎没有人真正这样做。”他指出,他在编写 git 时设置了 O_NOATIME,“在没有挂载选项中‘noatime’的情况下,这绝对可以节省大量时间。在某些负载下,肯定比你估计的 10% 还要多。”然后,讨论着眼于使用 relatime 挂载选项来改善这种情况,“相对 atime 仅在前一个 atime 比 mtime 或 ctime 更旧时才更新 atime。就像 noatime 一样,但对于像 mutt 这样需要知道文件自上次修改以来何时被读取的应用程序很有用。” Ingo Molnar 强调了修复这个性能问题的重要性,“我不能过分强调它在实践中的重要性。Atime 更新是 Linux 目前最大的 IO 性能缺陷。摆脱 atime 更新将为我们的日常 Linux 性能提供比过去 10 年所有页面缓存加速更高的性能,合并”他提交了一些补丁来改进 relatime,并指出了 atime:

“这也许是有史以来最愚蠢的 Unix 设计理念。Unix 确实很棒,做得很好,但请想一想:‘对于从磁盘读取的每个文件,让我们执行一次...写入磁盘!并且,对于已经缓存并从缓存中读取的每个文件...执行一次写入磁盘!’”

serverfault 上有一个答案(使用 noatime 挂载文件系统的缺点?) 说在过去的 10 年左右的时间里,使用 noatime 安装显然没有问题:

有些应用程序会在文件在一段时间内未被访问时将其移至辅助存储。显然,它们需要 atime。

除此之外,我不再认为它有多大用处,尤其是现在的文件管理器倾向于打开文件来生成预览,因此只需在浏览目录时修改访问时间。

这些天我总是和 noatime 一起骑车。

回答于 2009 年 7 月 29 日 11:09
Sven♦
86.4k

相关内容