Существует ли команда, которая вынудит Linux сбросить кэш одного файла на доле NFS?

Сегодня, POSIX и SUS являются в основном тем же самым; SUS охватывает немного больше.

Заключение в кавычки здесь:

Начавшись в 1998, совместная рабочая группа, известная, поскольку, Austin Group начала разрабатывать объединенный стандарт, который будет известен как Единственная Версия 3 Спецификации UNIX и как POSIX:2001 (официально: Станд. IEEE 1003.1-2001). Это было выпущено 30 января 2002

и

В декабре 2008 Austin Group опубликовала новую главную версию, известную как POSIX:2008 (официально: Станд. IEEE 1003.1-2008). Это - ядро Единственной Спецификации UNIX, Версии 4

14
23.05.2017, 15:40
3 ответа

Проверьте эти объекты и посмотрите если любая работа для Вас:

  1. На клиенте, если Вы уже не используете cto опция в столбце опций /etc/fstab строка для Вашей файловой системы NFS, добавляет это. cto говорит клиенту nfs открывать файлы через близко-к-открытому, который заставляет их обновить файл каждый раз, когда они открывают его.

  2. На сервере удостоверьтесь, что Ваша файловая система экспортируется с sync опция, и нет async. С синхронными записями клиент сбросит к диску, когда файл будет закрыт. (или с nfs V3, каждый раз, когда фиксация () сделана). Может быть хит производительности тот путь, но если Вы делаете записи к файловой системе NFS, Вы определенно хотите sync набор.

  3. Следующий вслед за этим сообщение stackoverflow, вводный файл с O_DIRECT работает, только если ядро было скомпилировано с CONFIG_NFS_DIRECTIO.

  4. Кроме того, удостоверьтесь, что у Вас есть следующие настройки в Вашем httpd.conf файле:

    • EnableMMAP off
    • EnableSendfile off

    Из апачской настраивающей документации производительности:

    • Если Вы карта распределения памяти файл, расположенный в смонтированной NFS файловой системе и процессе на другой клиентской машине NFS, удаляет или усекает файл, Ваш процесс может получить ошибку шины в следующий раз, когда это пытается получить доступ к содержанию отображаемого файла.
    • Выключение EnableSendfile конкретно не поможет с синхронизирующим/асинхронным поведением NFS, но это должно быть выключено при использовании апача с NFS.
12
27.01.2020, 19:51
  • 1
    Спасибо! Это большие предложения. Я не использую cto на клиенте и я попробую это. Я не имею также sync ни async на сервере; я просто добавил sync. O_DIRECT не помог мне, потому что это - на самом деле PHP, это читает эти файлы, и это не может открыть их с O_DIRECT всегда я могу найти. –  Josh 27.10.2011, 23:29
  • 2
    @Josh, это решало Вашу проблему? Мы заблокированы по той же проблеме! Вы могли обновить это сообщение? –  rafa.ferreira 28.08.2014, 19:35

Внутри данного процесса вызовы opendir и closedir в родительском каталоге файла делают недействительным кеш NFS. Я использовал это при программировании планировщика заданий. Очень и очень полезно. Попытайся!

3
27.01.2020, 19:51

Если вы откроете данный файл в не-кешированной программе (, такой как vim или emacs ), а затем закроете, она обновит/очистит кеш для этого файла

-1
27.01.2020, 19:51

Теги

Похожие вопросы