noatime y nodiratime ¡ya!
Las actualizaciones del atime son de lejos la más grande de las deficiencias que Linux tiene actualmente. Eliminando las actualizaciones del atime mejorará el rendimiento de los Linux normales más que todas las mejoras del pagecache de los últimos 10 años, combinadas. — Ingo Molnar
No puedo estar más de acuerdo, hace tiempo que todos mis ordenadores –de escritorio y hasta del Menéame– tienen deshabilitada las opciones de atime y diratime. No sé porqué las distros como Ubuntu ya no vienen así por defecto.
Es muy fácil, basta agregar las opciones “noatime,nodiratime” en el /etc/fstab. Por ejemplo (la siguiente es la línea del servidor del menéame):
Actualización: Leo en LWN que no hace falta el nodiratime si se especifica atime, ya que este último lo engloba.
/dev/sda1 / ext3 defaults,noatime,nodiratime,errors=remount-ro 0 1
Si no quieres reiniciar el servidor/ordenador para que tengan efecto las modificaciones, también es muy fácil:
mount -o remount,noatime,nodiratime /
Breve explicación
Siguiendo el diseño original de Unix, para cada fichero se almacenan una serie de “metadatos”, entre ellos la fecha de creación/modificación –mtime–, modificación del inodo –ctime–, y también la fecha de último acceso –el atime–. Eso significa que aunque se acceda a un fichero para sólo lectura se genera una escritura al disco para actualizar la hora de acceso –tiene precisión de un segundo–. Esto ocurre aunque el contenido del fichero esté completamente en el pagecache, lo que lo hace aún más ridículo.
El noatime indica que no se actualice la hora de acceso a un fichero. nodiratime es similar pero para accesos a directorios (por ejemplo cuando se busca un fichero por su nombre).
¿Por qué se sigue usando? Sobre todo por razones históricas y porque unos pocos programas de correo –creo que también el mutt– lo usan para verificar si han llegado un correo nuevo. Ya no tiene ni sentido para esto, porque el Linux tiene interfaces más adecuadas para ello, por ejemplo el inotify, que notifican a los programas cuando se modifica un fichero o directorio.