web-dev-qa-db-fra.com

Erreur "Limite d'utilisateur des montres inotify atteinte". Version ExtReact

J'ai installé ExtReact, avec des exemples. Quand je cours

npm start

Je reçois une erreur:

ERROR in [@extjs/reactor-webpack-plugin]: Error:
[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.BasicException: User limit of inotify watches 
reached
[ERR]
[ERR] Total time: 13 seconds

[ERR] /home/user/project/build/ext-react/build.xml:101: 
com.sencha.exceptions.BasicException: User limit of inotify watches reached
[ERR] A log is available in the file "/home/user/project/build/ext-
react/sencha-error-20171027.log"

Comment corriger cette erreur?

12
TheWorldNode

J'ai résolu ce problème en modifiant /etc/sysctl.conf. Au fichier que j'ai ajouté

fs.inotify.max_user_watches=100000
5
TheWorldNode

Pourquoi?

Les programmes qui synchronisent des fichiers tels que dropbox, git, etc. utilisent inotify pour remarquer les changements dans le système de fichiers. La limite peut être vue par -

cat /proc/sys/fs/inotify/max_user_watches

Pour moi, cela montre 100000 . Lorsque cette limite n'est pas suffisante pour surveiller tous les fichiers d'un répertoire, elle renvoie cette erreur.


Augmentation du nombre d'observateurs inotify (version courte):

Si vous exécutez Debian, RedHat ou une autre distribution Linux similaire , exécutez ce qui suit dans un terminal:

echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p

Si vous exécutez ArchLinux , exécutez la commande suivante à la place (voir ici pourquoi):

echo fs.inotify.max_user_watches=524288 | Sudo tee /etc/sysctl.d/40-max-user-watches.conf && Sudo sysctl --system

Collez-le ensuite dans votre terminal et appuyez sur Entrée pour l'exécuter.


Détails techniques:

Listen utilise inotify par défaut sous Linux pour surveiller les répertoires pour les changements. Il n'est pas rare de rencontrer une limite système sur le nombre de fichiers que vous pouvez surveiller. Par exemple, la limite d'inotification d'Ubuntu Lucid (64 bits) est définie sur 8192.

Vous pouvez obtenir votre limite de surveillance de fichiers inotify actuelle en exécutant:

$ cat /proc/sys/fs/inotify/max_user_watches

Lorsque cette limite n'est pas suffisante pour surveiller tous les fichiers d'un répertoire, la limite doit être augmentée pour que Listen fonctionne correctement.

Vous pouvez définir une nouvelle limite temporaire avec:

$ Sudo sysctl fs.inotify.max_user_watches=524288
$ Sudo sysctl -p

Si vous souhaitez rendre votre limite permanente, utilisez:

$ echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf
$ Sudo sysctl -p

Vous devrez peut-être également faire attention aux valeurs de max_queued_events et max_user_instances si Listen continue de se plaindre.

Source: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

18
Aniket Thakur

Augmenter les montres

  • cat/proc/sys/fs/inotify/max_user_watches
  • Sudo vim /etc/sysctl.conf
  • ajout de cette ligne à la fin du fichier: 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

Autre visite https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

0
MADHUR GUPTA