Sunday, April 29, 2012

Linux Disable /var Access Time Updates ( noatime )

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

No comments:

Post a Comment