3.7. Relatime 驱动器访问优化
POSIX 标准要求操作系统维护记录每个文件最后一次被访问的文件系统元数据。这个时间戳被称为
atime
,维护它需要一个重复的对存储的写入操作。这些写入操作让存储是设备及其连接保持忙碌和通电状态。因为很少应用程序会使用 atime
数据,所以这个存储设备活动是在浪费电力。特别是即使没有从存储中读取该文件也会发生写入存储的事件,但是从缓冲中写入。有时,Linux 内核还支持 mount 的 noatime
选项,并不在使用此选项挂载的文件系统中写入 atime
。但是只是关闭这个特性是有问题的,因为有些应用程序会依赖 atime
数据,并在此数据不可用时失败。
红帽企业版 Linux 6 使用的内核之后此另一个可替换选项 -
relatime
。Relatime
维护 atime
数据,但不是每次访问该文件时都更改。启用这个选项,则只在上次更新 atime
(mtime
)后修改该文件时,或者最后一次访问该文件是在相当长一段时间前(默认为一天)时才会将 atime
数据写入磁盘。
默认情况下,所有现在挂载的文件系统都启用
relatime
。要在整个系统中限制这个特性,请使用 boot 参数 default_relatime=0
。如果默认在某个系统中启用 relatime
,您可以通过使用选项 norelatime
挂载某个系统来限制它在某个具体文件系统中的使用。最后,要使系统更新文件的 atime
数据的默认周期有所不同,请使用 relatime_interval=
引导参数,以秒为单位指定周期。默认值为 86400
。