Cuando lo intento tail -f catalina.out, aparece el error:
tail: inotify cannot be used, reverting to polling: Too many open files
Intenté la respuesta en esta publicación: Demasiados archivos abiertos: cómo encontrar al culpable
lsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head
Cuando ejecuté el comando anterior, la salida fue
17 6115
13 6413
10 6417
10 6415
9 6418
9 6416
9 6414
8 6419
4 9
4 8
No veo ningún proceso con 1024 archivos abiertos. ¿No está abierto el número de archivos 17,13,10,10,9? ¿O lo estoy entendiendo mal? Y todos estos eran bash, sshd, apache2, tomcat tenía el número 4.
También hice lo lsof | grep tail | wc -l
que regresó 20. Estos números no son enormes, entonces, ¿por qué tail -f catalina.outfalla?

tailmensaje era ligeramente diferente:tail: inotify resources exhausted. Esta respuesta me ayudó. También puede usarsudo sysctl -w fs.inotify.max_user_watches=1048576 && sysctl -ppara probar si ayuda sin modificarlo permanentemente. Esta publicación también ayuda a nefaria.com/2014/08/tail-inotify-resources-exhaustedCreo que la respuesta no está completa (no dice nada sobre el límite máximo de archivos abiertos en el sistema).
Hay dos límites con respecto al número máximo de archivos abiertos:
Límite máximo de archivos abiertos por proceso .
ulimit -nulimit -n new_limit_numberAquí hay un comando para obtener los 10 procesos principales que tienen muchos archivos abiertos:
Límite máximo de archivos abiertos por sistema .
cat /proc/sys/fs/file-maxecho new_limit_number > /proc/sys/fs/file-maxlsof | wc -lfuente
Lo más probable es que te hayas quedado sin tus
inotifyrelojes. Probablemente, ¿está ejecutando algunas herramientas de sincronización de archivos (por ejemplo, Dropbox) en segundo plano?En Linux, la implementación interna del
tail -fcomando usa elinotifymecanismo de manera predeterminada, para monitorear los cambios de archivos. Si te has quedado sin todos losinotifyrelojes (8192 por defecto), entoncesinotify -ftienes que cambiar a sondeo para detectar cambios en ese archivo.Por supuesto, puede modificar el número máximo de
inotifyrelojes.referencia:
http://www.quora.com/How-is-tail-f-implemented
http://peter-butkovic.blogspot.com/2013/08/tail-inotify-resources-exhausted.html
https: // serverfault.com/questions/510708/tail-inotify-cannot-be-used-reverting-to-polling-too-many-open-files
fuente
sysctl fs.inotify.max_user_instancesobtendría límite por usuario parainotify.Lo experimenté, y todos los límites del sistema eran lo suficientemente altos, pero la configuración por usuario suele ser relativamente baja por defecto, puede aumentarlo
sysctl.confy volver a cargarlosysctl -p.fuente
correr
para verificar si se están ejecutando demasiados comandos de cola, como una generación de crontab.
fuente
root 20161 0.0 0.0 11132 1044 pts/0 S+ 17:27 0:00 grep tailVerifique la versión de su kernel, podría ser este error:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1101666
fuente