Acabo de instalar Ubuntu 16.04 y recibo esta advertencia cuando inicio SmartGit :
IOException: User limit of inotify watches reached
Además, recibo esta advertencia tail -f
:
tail: inotify resources exhausted
tail: inotify cannot be used, reverting to polling
Nunca recibo este error con Ubuntu 14.04 y las aplicaciones y archivos que estoy usando en el nuevo Ubuntu son exactamente los mismos que estaba usando en la versión anterior.
Las únicas diferencias relevantes son que agregué un Disco Duro adicional en la PC y configuré la herramienta de respaldo de Ubuntu. ¿Puede este problema estar relacionado con un segundo disco o con la herramienta de copia de seguridad?
Respuestas:
El valor predeterminado actual en Xenial es 8192 (consulte fs / notify / inotify / inotify_user.c en la fuente del núcleo), puede verificar esto imprimiendo el archivo en stdout:
Puede aumentar el número, por ejemplo, duplicando esto a 16384, usando:
Tenga en cuenta que los relojes inotify consumen memoria, creo que son alrededor de 160 bytes por reloj en sistemas de 64 bits.
Para configurar esto permanentemente, agregue una entrada a /etc/sysctl.conf, por ejemplo:
..o editar manualmente
/etc/sysctl.conf
(necesita privilegios de root para actualizarlo) y luego ejecutarsudo sysctl -p
fuente
Las respuestas anteriores funcionan muy bien, pero no explica por qué estaba buscando mi intento de una respuesta completa:
¿Por qué?
Los programas que sincronizan archivos como dropbox, git, etc. usan inotify para notar cambios en el sistema de archivos. El límite se puede ver por -
Para mí, muestra 100000 . Cuando este límite no es suficiente para monitorear todos los archivos dentro de un directorio, arroja este error.
Aumento de la cantidad de observadores de inotify (versión corta):
Si está ejecutando Debian, RedHat u otra distribución similar de Linux , ejecute lo siguiente en una terminal:
Si está ejecutando ArchLinux , ejecute el siguiente comando en su lugar (vea aquí por qué):
Luego pégalo en tu terminal y presiona Enter para ejecutarlo.
Detalles técnicos:
Listen usa inotify por defecto en Linux para monitorear los directorios en busca de cambios. No es raro encontrar un límite del sistema en la cantidad de archivos que puede monitorear. Por ejemplo, el límite de inotify de Ubuntu Lucid (64 bits) está establecido en 8192.
Puede obtener su límite actual de observación de archivos inotify ejecutando:
Cuando este límite no es suficiente para monitorear todos los archivos dentro de un directorio, se debe aumentar el límite para que Listen funcione correctamente.
Puede establecer un nuevo límite temporal con:
Si desea que su límite sea permanente, use:
Es posible que también deba prestar atención a los valores de max_queued_events y max_user_instances si Listen sigue quejándose.
Fuente: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
fuente
Puede verificar el límite existente y, en función de eso, puede modificarlo según sus requisitos
To Check : cat /proc/sys/fs/inotify/max_user_watches To Alter : sudo sysctl fs.inotify.max_user_watches=524288
Esto resolverá el error.
fuente