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
.