在现代Linux上使用noatime是否有意义?


14

从2.6.30版本(5年前发布)开始,Linux relatime默认启用该选项。这意味着文件访问时间的更新非常少见且谨慎。

但我仍然看到recomendations使用noatime的数据库或SSD盘。是否有任何理由更改默认配置并使用它?与相比有relatime什么可测量的区别吗?

Answers:


8

对于这个问题,确实没有任何答案。这完全取决于许多因素,包括正在使用文件系统的应用程序,正在进行的读/写活动的混合以及硬件本身。

relatime为了确保某些(较旧的)应用程序(例如电子邮件系统)使用atime值来确定自交付以来是否已读取文件/消息,它的存在是一种折衷。因此,这是文件系统默认设置的安全选项。

在考虑与之一起挂载文件系统之前,noatime应审核文件系统的使用情况,以确保没有应用程序依赖于时间进行正确的操作。

假设没有文件系统用户依赖于时间,那么是否值得更改默认值确实取决于对文件系统的读写量。以只读为主的用法可能不会有太大的区别,但是如果对同一文件进行大量读/写操作(即典型的数据库工作负载),那么您会发现大多数读操作还涉及一次写操作,并且会影响性能。

如果文件系统仅用于数据库工作,则应该安全使用noatime,这将减少对文件系统的写入。

到了最后,noatime不应不加考虑就使用它,它所产生的差异只能通过在特定工作负载下进行基准测试来确定。


1
您将如何审核文件系统的使用情况,以确保没有应用程序依赖于时间?
johnboiles 2014年

1
好问题,可惜没有简单的答案。我希望希望依赖时间的应用程序在README,安装或FAQ文档中对此进行说明。从历史上看,atime相对于mtime的主要用户之一是基于文件的邮件用户代理(MUA),以跟踪自传送以来已读取和未读取的内容。我的方法通常是禁用时间修改,并注意任何可能发生的问题。从历史上看,我一直在打开/ var并启用了relatime跟踪,但是在较新的安装中,我倾向于将其关闭。
Richm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.