Android Studio Inotify Watches Limit



Для IDE, очень важно, чтобы быть в курсе каких-либо внешних изменений в файлах с которыми она работает. Например, она постояно отслеживает изменения, сделанные в VCS, или в build tools, или code generators и т.д.. По этой причине платформа IntelliJ раскручивает фоновый процесс для мониторинга таких изменений. Метод, который она использует зависит от платформы, и на Linux, это объект Inotify.

Inotify требует "watch handle", который должен быть установлен для каждого каталога в проекте. К сожалению, в "watch handle", дефолтного значения не достаточно для сканирования умеренных размеров проектов и по достижению этого предела, заставляет платформу IntelliJ вернуться к рекурсивному сканированию дерева каталогов.

Для предотвращения этой ситуации рекомендуется увеличить лимит "watch handle" (до, скажем, 512K):

1. Добавьте следующую строку либо в файл /etc/sysctl.conf либо в новый файл ##-sysctl.conf под /etc/sysctl.d/ дерикторией, где ## означает любой номер от 01 до 99:

fs.inotify.max_user_watches = 524288

2. Затем запустите эту команду, чтобы применить изменения:

sudo sysctl -p --system

И не забудьте перезапустить IDE.

Примечание: 
Если есть другие программы, работающие под той же учетной записью, которые также использует Inotify, то предел должен быть поднят еще намного выше, чтобы удовлетворить потребности всех из них.

Мой файл конфигурации: 10-jetbrains.conf, поместить в /etc/sysctl.d/