9.9. Configuring atime Updates

Each file inode and directory inode has three time stamps associated with it:

NoteNote
 

For more information about ctime, mtime, and atime updates, refer to the stat(2) man page.

If atime updates are enabled as they are by default on GFS and other Linux file systems then every time a file is read, its inode needs to be updated.

Because few applications use the information provided by atime, those updates can require a significant amount of unnecessary write traffic and file-locking traffic. That traffic can degrade performance; therefore, it may be preferable to turn off atime updates.

Two methods of reducing the effects of atime updating are available:

9.9.1. Mount with noatime

A standard Linux mount option, noatime, may be specified when the file system is mounted, which disables atime updates on that file system.

9.9.1.1. Usage

mount -t gfs BlockDevice MountPoint -o noatime

BlockDevice

Specifies the block device where the GFS file system resides.

MountPoint

Specifies the directory where the GFS file system should be mounted.

9.9.1.2. Example

In this example, the GFS file system resides on the pool0 block device and is mounted on directory /gfs1/ with atime updates turned off.

mount -t gfs /dev/pool/pool0 /gfs1 -o noatime

9.9.2. Tune GFS atime Quantum

When atime updates are enabled, GFS (by default) only updates them once an hour. The time quantum is a tunable parameter that can be adjusted using the gfs_tool command.

Each node in a GFS cluster updates the access time based on the difference between its system time and the time recorded in the inode. It is required that system clocks of all nodes in a GFS cluster be in sync. If a node's system time is out of sync by a significant fraction of the tunable parameter, atime_quantum, then atime updates are written more frequently. Increasing the frequency of atime updates may cause performance degradation in clusters with heavy work loads.

By using the gettune action flag of the gfs_tool command, all current tunable parameters including atime_quantum (default is 3600 seconds) are displayed.

The gfs_tool settune command is used to change the atime_quantum parameter value. It must be set on each node and each time the file system is mounted. (The setting is not persistent across unmounts.)

9.9.2.1. Usage

Displaying Tunable Parameters

gfs_tool gettune MountPoint

MountPoint

Specifies the directory where the GFS file system is mounted.

Changing the atime_quantum Parameter Value

gfs_tool settune MountPoint atime_quantum Seconds

MountPoint

Specifies the directory where the GFS file system is mounted.

Seconds

Specifies the update period in seconds.

9.9.2.2. Examples

In this example, all GFS tunable parameters for the file system on the mount point /gfs1 are displayed.

gfs_tool gettune /gfs1

In this example, the atime update period is set to once a day (86,400 seconds) for the GFS file system on mount point /gfs1.

gfs_tool settune /gfs1 atime_quantum 86400