Ao executar tail -f filename
, recebi a seguinte mensagem:
tail: inotify cannot be used, reverting to polling: Too many open files
Isso é um problema em potencial?
Como diagnosticar o que é responsável por todos os arquivos abertos? Eu tenho uma lista de processos suspeitos, mas se eles não forem os culpados, instruções que não dependem de saber qual processo verificar serão úteis.
filesystem
Andrew Grimm
fonte
fonte
ulimit
?Respostas:
Você pode usar lsof para entender quem está abrindo tantos arquivos. Geralmente é um servidor (web) que abre muitos arquivos, mas lsof certamente ajudará a identificar a causa.
Depois de entender quem é o bandido, você pode
Se a saída de lsof for enorme, tente redirecioná-la para um arquivo e abra o arquivo
Exemplo (talvez você precise Ctrl+ Co primeiro comando)
fonte
lsof | awk '{ print $2; }' | uniq -c | sort -rn | head
uniq
só funciona com linhas adjacentes), executar o uniq e classificar novamente. Entãolsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head
.:)
Caso mais alguém precise ...
Exibe todos os limites atuais. Especificamente
ulimit -n 70000
, definirá o limite do descritor de arquivo.Além disso...
Irá exibir / definir o limite do kernel, se editado.
Uma explicação muito mais detalhada pode ser encontrada em ...
Como aumentar o limite de arquivos abertos para um usuário não root?
fonte