Does it make sense to use noatime with Btrfs?

I once read somewhere and sometime that it is possible to set noatime for btrfs volumes in /etc/fstab to increase performance. This avoids having to determine the data access times each time, which in turn means fewer writes to an SSD. Sounds logical and good so far. However, I wonder why this option was not set during the installation of Manjaro with Calamares. Is it perhaps not that useful after all?

There are some programs still
(some mail server or client, if I remember correctly, was one example of this)
that require and rely on the atime for their proper function.

Making noatime default would break these and would be hard to diagnose, I guess.

It is useful in any file system to improve performance and decrease wear on ssd’s - if you know that none of the programs you use rely on it.

That is why it is not a default.
( I actually use noatime instead of relatime - but on ext4)

1 Like

Because relatime is the default for btrfs. And this option updates the atime only if:

  • The previous atime is older than the modification time (mtime) or the status change time (ctime).
  • The previous atime is older than a certain threshold (usually 24 hours).

So it is compromise of both: atime and notime. That shouldn’t impact write cycles or performence much, but if you need to fine tune it, then go for notime.

2 Likes

According to my own calculations, I don’t have any programs running that need a timer (no mail server or client). I also read something like this in the documentation of noatime. So check :heavy_check_mark:

I have now set noatime (after defaults).

Regarding relatime: I have read that this has been included in the kernel for several years and is therefore set by default. Is this preferred when setting noatime or does it have to be deactivated manually?

it has got nothing to do with the kernel - it’s a feature / option of the file system
you can see (/etc/fstab) what the features are - and change them to your needs / liking

1 Like

Thx @Nachlese . I think I’m reading too much … :thinking:

… perhaps :smiley:

I still use spinning disks - so I don’t worry about write cycles.

noatime vs. relatime … in the ways I use my system, I’d likely never notice a difference in performance

1 Like

There always has to be a default, and in the old UNIX tradition, this used to be atime, but as @megavolt explained, it was decided later on at some point to introduce a new setting, relatime, and to make this the default for most filesystems.

What this means is that the mount option defaults includes relatime, and that it therefore does not need to be explicitly added as a mount option. However, if you explicitly add noatime as a mount option, then that will override the relatime option.

Likewise, there exist many other mount options which override the mount options included in defaults, such as ro (which overrides rw), noauto (which overrides auto for filesystems on internal fixed drives), user/users (each of which override the nouser option for filesystems on internal fixed drives), and so on.

See… :point_down:

man mount

Several filesystems also have their own man page, split off from the above one, e.g. … :point_down:

man btrfs
man tmpfs

… and so on.

3 Likes

Thank you @Aragorn for this good explanation!

1 Like

:laughing:

:footprints:

You find good Information about Btrfs in the wiki

2 Likes