2.5. File System Determinism Tips
The order in which journal changes arrive are sometimes not in the order that they are actually written to disk. The kernel I/O system has the option of reordering the journal changes, usually to try and make best use of available storage space. Journal activity can introduce latency through re-ordering journal changes and committing data and metadata. Often, journaling file systems can do things in such a way that they slow the system down.
The default filesystem used by Red Hat Enterprise Linux 7 is a journaling file system called
xfs
. A much earlier file system called ext2
does not use journaling. Unless your organization specifically requires journaling, consider using ext2
. In many of our best benchmark results, we utilize the ext2
file system and consider it one of the top initial tuning recommendations.
Journaling file systems like
xfs
record the time a file was last accessed (atime
). If using ext2
is not a suitable solution for your system, consider disabling atime
under xfs
instead. Disabling atime
increases performance and decreases power usage by limiting the number of writes to the filesystem journal.
Procedure 2.7. Disabling atime
- Open the
/etc/fstab
file using your chosen text editor and locate the entry for the root mount point./dev/mapper/rhel-root / xfs defaults…
- Edit the options sections to include the terms
noatime
andnodiratime
.noatime
prevents access timestamps being updated when a file is read andnodiratime
will stop directory inode access times being updated./dev/mapper/rhel-root / xfs noatime,nodiratime…
Important
Some applications rely onatime
being updated. Therefore, this option is reasonable only on system where such applications are not used.Alternatively, you can use therelatime
mount option, which ensures that the access time is only updated if the previous access time is older than the current modify time.
Related Manual Pages
For more information, or for further reading, the following man pages are related to the information given in this section.
- mkfs.ext2(8)
- mkfs.xfs(8)
- mount(8) - for information on
atime
,nodiratime
andnoatime