Olá,
Depois de muito procurar e quebrar a cabeça, infelizmente não encontrei solução para esse problema (encontrei em outros fóruns problemas muito semelhantes, mas nenhuma solução).
Tenho uma aplicação no glassfish que necessita abrir muitos arquivos, entretanto, me sai sempre o erro "Too many open files". Mudei o parâmetro do ulimit -n, tanto através do ulimit quanto através do arquivo /etc/security/limits.conf, mas não me solucionou o problema.
Adicionei ao limits.conf
glassfish soft nofile 65536
glassfish hard nofile 65536
E depois de reiniciar, o ulimit -n me trouxe 65536.
Entretanto, rodando o comando abaixo:
for pid in `pidof java`; do echo "$(< /proc/$pid/cmdline)"; egrep 'files|Limit' /proc/$pid/limits; echo "Currently open files: $(ls -1 /proc/$pid/fd | wc -l)"; echo; done
Tenho a seguinte resposta:
Limit Soft Limit Hard Limit Units
Max open files 1024 1024 files
Currently open files: 971
/usr/lib/jvm/java-6-sun/bin/java-jar/opt/glassfishv3/glassfish/bin/../modules/admin-cli.jarstart-domaindomain1
Limit Soft Limit Hard Limit Units
Max open files 1024 1024 files
Currently open files: 55
Não sei mais o que posso fazer para solucionar isso, alguém tem alguma ideia?