Наведені вище відповіді чудово діють, але це не пояснює, чому я шукав тут свою спробу повної відповіді -
Чому?
Програми, які синхронізують файли, такі як dropbox, git тощо, використовують inotify, щоб помітити зміни у файловій системі. Ліміт можна побачити по -
cat /proc/sys/fs/inotify/max_user_watches
Для мене це показує 100000 . Якщо цього обмеження недостатньо для моніторингу всіх файлів у каталозі, він видає цю помилку.
Збільшення кількості інотифікованих спостерігачів (коротка версія):
Якщо ви використовуєте Debian, RedHat або інший подібний дистрибутив Linux , запустіть наступне в терміналі:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Якщо ви запускаєте ArchLinux , замість цього запустіть таку команду (див. Тут).
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
Потім вставте його у свій термінал і натисніть клавішу Enter, щоб запустити його.
Технічні деталі:
Прослуховування використовує inotify за замовчуванням в Linux для моніторингу каталогів щодо змін. Не рідкість зустрічається системний ліміт кількості файлів, які ви можете відстежувати. Наприклад, лінійка інотифікації Ubuntu Lucid (64 біт) встановлена на рівні 8192.
Ви можете отримати поточний ліміт перегляду файлів, що ініціює, виконавши:
$ cat /proc/sys/fs/inotify/max_user_watches
Якщо цього обмеження недостатньо для контролю всіх файлів у каталозі, для правильної роботи Служби потрібно збільшити ліміт.
Ви можете встановити новий ліміт, тимчасовий за допомогою:
$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
Якщо ви хочете зробити свій ліміт постійним, скористайтеся:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
Можливо, вам також знадобиться звернути увагу на значення max_queued_events та max_user_in вещества, якщо Listen продовжує скаржитися.
Джерело: https://github.com/guard/listen/wiki/Убільшити-the-amount-of-inotify-watchers