Linux Disable /var Access Time Updates ( noatime )

by on November 27, 2009 · 3 comments· LAST UPDATED November 27, 2009

in , ,

I've configured and mounted /var for squid caching and other purposes under Linux. I've noticed that the Linux file system keeps records of when files are created, updated, and accessed. My /var is exclusively used for caching purpose and I do not want to waste disk I/O while updating last-time-read attribute during reads and writes to files. How do I disable access time updates for /var partition?

You can mount file systems with the noatime option. It will prevent inode access times from being updated. Please note that use noatime only when file update times are not critical. Backup client software also use file last update time to sync with backup server. However, the following type of servers may work without problem:
a] Squid caching file
b] News server
c] Web servers etc.

/etc/fstab File

Edit /etc/fstab file and update it as follows:

/dev/sdXY /mount-point ext3 defaults,noatime 1 2

OR

/dev/md1 /var ext3 defaults,noatime 1 2

OR just remount the same from command

mount LABEL=/var -o noatime,nouser,remount,rw

Where,

  • noatime - Do not update inode access times on this file system.

I've seen performance benefit of 5-15% with an average of 5% for file server workloads. This hack is only useful busy servers.

Recommend readings:

man 8 mount

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 3 comments… read them below or add one }

1 Steven November 27, 2009 at 1:20 pm

You can do the same on a directory level with the nodiratime option.

Reply

2 Martin November 29, 2009 at 4:51 pm

For security reason you can add noexec,nosuid,nodev.

Reply

3 Kashif December 2, 2009 at 8:22 pm

“…Linux file system keeps records of when files are created, updated, and accessed”

Linux doesn’t keep record of create time, instead it is change time.

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , ,

Previous Faq:

Next Faq: