Linux records information about when files were created and last modified as well as when it was last accessed. There is a cost associated with recording the last access
time. The ext2 file system of Linux has an attribute that allows the super-user to mark individual files such that their last access time is not recorded. This may lead
to significant performance improvements on often accessed frequently changing files such as the contents of the /var/spool/news
directory.
To set the attribute to a file, use:
[root@deep] /#chattr +A filename
For a whole directory tree, do something like:
[root@deep /root]#chattr -R +A /var/spool/ [root@deep /root]#chattr -R +A /cache/ [root@deep /root]#chattr -R +A /home/httpd/ona/
Linux has a special mount option for file systems called noatime that can be added to each line that addresses one file system in the /etc/fstab
file. If
a file system has been mounted with this option, reading accesses to the file system will no longer result in an update to the atime information associated with the file like
we have explained above. The importance of the noatime setting is that it eliminates the need by the system to make writes to the file system for files which are simply
being read. Since writes can be somewhat expensive, this can result in measurable performance gains. Note that the write time information to a file will continue to be updated
anytime the file is written to. In our example below, we will set the noatime option to our /chroot
file system.
Edit the fstab
file vi /etc/fstab
and add in the line that refer to /chroot
file system the noatime option after the
defaults option as show below:
/dev/sda7 /chroot ext2 defaults,noatime 1 2
You need not reboot your system for the change to take effect, just make the Linux system aware about the modification you have made to the /etc/fstab
file. This can be accomplished
with the following commands:
[root@deep] /#mount -oremount /chroot/
Then test your results with the flowing command:
[root@deep]# cat /proc/mounts
/dev/root / ext2 rw 0 0
/proc /proc proc rw 0 0
/dev/sda1 /boot ext2 rw 0 0
/dev/sda8 /cache ext2 rw 0 0
/dev/sda7 /chroot ext2 rw,noatime 0 0
/dev/sda6 /home ext2 rw 0 0
/dev/sda11 /tmp ext2 rw 0 0
/dev/sda5 /usr ext2 rw 0 0
/dev/sda9 /var ext2 rw 0 0
none /dev/pts devpts rw 0 0
If you see something like: /dev/sda7 /chroot ext2 rw,noatime 0 0
, congratulations!