13

Starting from version 2.6.30 (which was released 5 years ago), Linux has the option relatime enabled by default. It means updates of file access time are very infrequent and prudent.

But I still see recomendations to use noatime for databases or SSD discs. Are there any reason to change default configuration and use it? Does it make any measurable difference compared to relatime?

8

There really is no single answer to this question. It all depends on many factors including applications that are using the filesystem, what mix of read/write activity is going on and the hardware itself.

relatime exists as a compromise to ensure that some (older) applications, such as e-mail systems, that use the atime value to determine if a file/message has been read since delivery. As such it is a safe option for a filesystem default.

Before considering mounting a filesystem with noatime you should audit the usage of the filesystem to ensure that no applications depend on atime for correct operation.

Assuming that no user of the filesystem depends on atime then whether it is worth changing the default really depends on the volume of reads and writes to the filesystem. A read-mostly usage probably will not make too much of a difference but if there are a large volume of reads/writes to the same file (i.e. typical database workloads) then you will find that most reads also involve a write of atime and that will affect performance.

If the filesystem is only used for database work then it should be safe to use noatime and that will reduce writes to the filesystem.

At the end of the day noatime should not be used without due consideration and how much difference it makes can only be determine by benchmarking under a particular workload.

  • How would you go about auditing the usage of the filesystem to make sure no applications depend on atime? – johnboiles Sep 29 '14 at 16:54
  • 1
    Good question and sadly there is no simple answer. I would rather hope that applications that rely on atime would call this out in README, installation or FAQ documents. Historically one of the main users of atime relative to mtime has been file based mail user agents (MUA) to keep track of what has and hasn't been read since deliver. My approach has often been to just disable atime modification and keep an eye out for anything that breaks. Historically I have left /var with relatime tracking turned on but on newer installs I've tended to turn it off. – Richm Oct 2 '14 at 8:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.