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)
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
.
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
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
Thx @Nachlese . I think I’m reading too much …
… perhaps
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
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…
man mount
Several filesystems also have their own man
page, split off from the above one, e.g. …
man btrfs
man tmpfs
… and so on.
Thank you @Aragorn for this good explanation!