ENOSPC: System limit for number of file watchers reached

Linux использует пакет inotify для наблюдения за событиями файловой системы, отдельными файлами или каталогами.

Поскольку React/Angular выполняет «горячую» перезагрузку и перекомпилирует файлы при сохранении, ему необходимо отслеживать все файлы проекта. При увеличении лимита наблюдения inotify предупреждающие сообщения должны быть скрыты.

При возникновении ошибка выглядит примерно так.
ENOSPC: System limit for number of file watchers reached, watch '/root/manager/packages/manager/apps/public-cloud/src/assets/theme'
Для решения ошибки сперва увеличим значения в системной переменной.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Теперь проверим, все ли применилось.
cat /proc/sys/fs/inotify/max_user_watches
Можно использовать также следующий скрипт.
#!/usr/bin/env bash

let current_watches=`sysctl -n fs.inotify.max_user_watches`

if (( current_watches < 80000 ))
then
echo "Current max_user_watches ${current_watches} is less than 80000."
else
echo "Current max_user_watches ${current_watches} is already equal to or greater than 80000."
exit 0
fi

if sudo sysctl -w fs.inotify.max_user_watches=80000 && sudo sysctl -p && echo fs.inotify.max_user_watches=80000 | sudo tee /etc/sysctl.d/10-user-watches.conf
then
echo "max_user_watches changed to 80000."
else
echo "Could not change max_user_watches."
exit 1
fi
Навеяно темой с StackOverflow.
Поделиться: