Где безопасно использовать noatime?

Я пытаюсь оптимизировать мой новый макет fs, и мне стало интересно, где это безопасно использовать noatime? Я понимаю, что, например, Mutt использует время доступа / создания / изменения, и все, что еще может использовать это, в зависимости от того, какой каталог.

Следуя тонне руководств, я разделил свои каталоги по разным сценариям использования, но я не знаю, где безопасно разместить noatime?

dirs / flags:

/               defaults
   (/bin
    /sbin
    /lib*
    /etc
    /root
    /dev ...)

/boot           defaults
/boot/EFI       defaults

/usr            defaults,ro,nodev
                    NOTE: dpkg needs rw
/usr/share      defaults,ro,nodev,nosuid

/var            defaults,nodev
                    NOTE: /var/lib/dpkg/info -> exec
/var/tmp        defaults,nodev,nosuid,noexec
/var/log        defaults,nodev,nosuid,noexec

/opt            defaults,nodev

/tmp            defaults,nodev,nosuid,noexec
                    NOTE: some installer may need exec

/home           defaults,nodev,nosuid

1 ответ

Решение

AFAIK это действительно очень редкая программа, которая опирается на время, и используя noatime безопасен практически везде.

Вопрос о сбое сервера Отключение atime в файловой системе говорит о том, что это в основном только mutt (при использовании почтового ящика mbox) и в любом случае есть простой обходной путь, или очень редкая программа, такая как tmpwatch или очистители временных файлов:

Mutt, почтовый клиент, использует время доступа к файлу для отслеживания новой почты, поступающей в почтовый ящик в формате mbox. По-видимому, эта проблема несерьезна, и ее легко обойти.

Кроме этого, трудно найти примеры вещей, которые ломаются от шума. Я запускаю несколько серверов Linux с noatime на всех файловых системах, и я не могу вспомнить, чтобы когда-либо видел какие-либо проблемы, связанные с noatime.

И используя noatime может улучшить производительность, возможно, намного по сравнению со старым временем (но все же должно помочь немного даже по сравнению с сегодняшним стандартом relatime сохранение каждой записи на флэш /SSD - это хорошо):

Linux: замена atime на relaytime

Представлено Джереми 7 августа 2007 г. - 11:26

В недавнем lkml-потоке Линус Торвальдс участвовал в обсуждении монтирования файловых систем с опцией noatime для лучшей производительности: "noatime,data=writeback", скорее всего, будет весьма заметно (с разными эффектами для разных нагрузок), но почти никто на самом деле работает так ". Он отметил, что установил O_NOATIME при написании git, "и это значительно сэкономило время на случай отсутствия" noatime "в опциях монтирования. Конечно, больше, чем ваши предполагаемые 10% при некоторых нагрузках". Затем обсуждение рассмотрело использование опции монтирования relaytime для улучшения ситуации: "Относительное atime обновляет atime, только если предыдущее atime старше, чем mtime или ctime. Подобно noatime, но полезно для приложений, таких как mutt, которым необходимо знать, когда файл прочитано с момента последнего изменения. " Инго Молнар (Ingo Molnar) подчеркнул важность исправления этой проблемы с производительностью: "Я не могу переоценить важность сделки на практике. Atime-обновления на сегодняшний день являются самым большим недостатком производительности ввода-вывода, который сегодня имеет Linux. Избавление от временных обновлений даст нам больше ежедневной производительности Linux, чем все ускорения кэша страниц за последние 10 лет, вместе взятые. " Он представил несколько исправлений для улучшения релевантности и отметил, что когда-то:

"Это также, пожалуй, самая глупая идея дизайна Unix за все время. Unix действительно хорош и хорошо сделан, но подумайте немного об этом:" Для каждого файла, который читается с диска, давайте сделаем... запись на диск " И для каждого файла, который уже кэширован и который мы читаем из кэша... сделайте запись на диск! "

На serverfault есть ответ ( Недостатки монтирования файловой системы с noatime?), В котором говорится, что в последние 10 лет монтирование с noatime, по-видимому, не имеет проблем:

Существуют приложения, которые перемещают файлы во вторичное хранилище, если к ним не обращались в течение определенного периода времени. Очевидно, им нужно время.

Кроме этого, я не вижу большой пользы для этого (больше), тем более что файловые менеджеры в наши дни имеют тенденцию открывать файлы для генерации предварительного просмотра, поэтому модифицируют atime только во время просмотра каталога.

Я всегда везу с шумом в эти дни.

ответил 29 июля 2009 в 11:09
Sven ♦
86.4k

Другие вопросы по тегам