3.7. Оптимизация доступа к дискам relatime

3.7. Оптимизация доступа к дискам relatime

Стандарт POSIX требует, чтобы операционные системы поддерживали метаданные файловой системы с информацией о времени последнего доступа к файлам. Динамическое обновление меток времени (известных как atime) требует постоянного выполнения дополнительных операций записи на диск, что поддерживает накопители в активном состоянии. Поскольку данные atime используются ограниченным кругом приложений, их поддержка не оправдывает затрат энергии. Более того, запись на диск осуществляется даже при чтении файла из кэша, а не с диска. В свое время ядро Linux поддерживало опцию noatime для mount, которая отключала запись данных atime в файловую систему. Но совершенно отключить эту возможность тоже нельзя, так как многие приложения полагаются на данные atime и не смогут работать без них.
Ядро Red Hat Enterprise Linux 6 предлагает альтернативу — relatime. Эта опция обновляет данные atime, но не при каждом обращении к файлу. Вместо этого данные atime будут записаны на диск только в том случае, если файл был изменен с момента последнего обновления atime или к нему выполнялось обращение по истечении заданного периода (по умолчанию один день).
При подключении файловых систем опция relatime используется по умолчанию. Отменить ее для всех файловых систем одновременно можно с помощью загрузочного параметра default_relatime=0. Чтобы отменить эту опцию для конкретной файловой системы, при ее подключении можно указать параметр norelatime. Наконец, с помощью параметра загрузки relatime_interval= можно изменить время, по истечении которого система обновит данные atime файлов. Значение по умолчанию — 86400.