Повтор в унисон = смотреть лимит файла?

Я использую Ubuntu 14.04, когда пытаюсь синхронизировать каталог с unison, используя опцию repeat=watch, Каталог содержит ~125K файлы, но я ограничиваю количество файлов, которые может обрабатывать унисон. Это ошибка, которую я получаю:

Неустранимая ошибка: Сервер: Ошибка наблюдателя файловой системы: невозможно добавить наблюдателя: достигнут предел системы.
Наблюдатель можно отключить, установив для параметра "watch" значение false.

Я искал дополнительную информацию, запустив унисон с debug=all но это единственные строки, которые я могу найти, связанные с ошибкой.

Любая идея относительно того, какие системные параметры должны быть изменены, чтобы обойти этот предел?

3 ответа

Я уверен, что проблема не в Unison, а в inotify, Когда вы используете опцию repeat=watchУнисон вызывает вспомогательную программу unison-fsmonitor который использует inotify смотреть файловую систему на предмет изменений. Он помещает "часы" в каждый файл, который вы синхронизируете с Unison.

По умолчанию существует верхний предел количества часов, которые может вызвать один пользователь. На моей машине этот верхний предел составляет всего 8192. Вы можете увеличить количество часов, отредактировав файл.

/proc/sys/fs/inotify/max_user_watches

Я был бы немного обеспокоен тем, что, поскольку вы хотите просматривать около 125 тыс. Файлов, а максимальный размер по умолчанию составляет всего около 8 тыс., Вы можете увидеть резкое снижение производительности, если вы увеличите максимальный уровень на столько.

Unison использует три типа файлов. Наиболее важными файлами являются файлы профилей с расширением prf, которые по умолчанию хранятся в формате .unison. Каждый файл профиля определяет переменные и предпочтения относительно одного конкретного использования unison, например каталоги, которые следует синхронизировать, и механизм, используемый для выполнения этой синхронизации. Альтернативно эти предпочтения можно указать в командной строке. Второй тип файлов, используемый unison, — это файл журнала. Действительно, унисон, как правило, дает подробный отчет о своей деятельности. Эта учетная запись сохраняется в файле журнала, который по умолчанию называется unison.log и размещается в домашнем каталоге пользователя. Наконец, чтобы определить файлы, которые были изменены и нуждаются в обновлении, unison использует автоматически названный архивный файл, который по умолчанию хранится в .unison.

Файл: ~/.unison/home.prf

Вы можете добавить строку watch = false к вашему унисонному профилю, и он должен работать, хотя и без "пользы" наблюдателя.

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