tail: inotify não pode ser usado, revertendo para polling: Muitos arquivos abertos

tail: inotify não pode ser usado, revertendo para polling: Muitos arquivos abertos
tail: inotify cannot be used, reverting to polling: Too many open files

Estou executando servidores Apache e Tomcat no Ubuntu (AWS ec2). Sempre que tento seguir o catalina.outTomcat, recebo muitos arquivos abertos. No entanto, consigo visualizá-lo usando o vi.

Depois de pesquisar na internet, tentei o seguinte comando:

lsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head

Com resultados abaixo

 17 5650
 17 5178
 13 5972
 10 5976
 10 5974
  9 5977
  9 5975
  9 5973
  8 5978
  4 9

Quando acabei de executar lsof os IDs do processo: 5650 eram bash, 5178 eram novamente bash e outros eram sshd, top e apache2.

Por que há um grande número de arquivos de abertura bash, top e sshd? Como posso fechar esses arquivos? Matar esses processos fará algum bem? O número diminuirá sozinho ou terei que fazer alguma coisa? No momento, tudo está funcionando conforme o esperado, exceto que tail -f me fornece muitos arquivos abertos.

Eu uso muito top e ssh para servidor. Mas por que eles não liberam os arquivos? OU estou conectando os pontos errados.

Responder1

Provavelmente você ficou sem relógios inotify. Por padrão, é um 8192 absurdamente baixo.

Verifique seu valor atual:

sysctl fs.inotify.max_user_watches

Em seguida, altere-o para algo mais razoável editando /etc/sysctl.confo arquivo que ele inclui e adicionando:

fs.inotify.max_user_watches = 524288

(ou qualquer valor) e depois executando sysctl -ppara que tenha efeito.

Responder2

Você pode tentar aumentar fs.inotify.max_user_instances:

sysctl fs.inotify.max_user_instances=512

Responder3

Talvez seja um bug do kernel do Ubuntu, verifiqueessedo bugtracker da barra de lançamento.

E se necessário atualize seu kernel!

informação relacionada