Isso está acontecendo no Ubuntu Release 12.04 (preciso) Kernel Linux 3.2.0-25-virtual de 64 bits
Estou tentando aumentar o número de arquivos abertos permitidos para um usuário. Isso é para o meu aplicativo java eclipse, onde o limite atual de 1024 não é suficiente.
De acordo com os posts que encontrei até agora, eu deveria poder colocar linhas em
/etc/security/limits.conf assim:
soft nofile 4096
hard nofile 4096
para aumentar o número de arquivos abertos permitidos para todos os usuários.
Mas isso não está funcionando para mim e acho que o problema não está relacionado a esse arquivo.
Para todos os usuários, o limite padrão é 1024, independentemente do que está em /etc/security/limits.conf (reinicializei após alterar esse arquivo)
$ ulimit -n
1024
Agora, apesar das entradas em /etc/security/limits.conf, não posso aumentar isso:
$ ulimit -n 2048
-bash: ulimit: arquivos abertos: não é possível modificar o limite: Operação não permitida
A parte estranha é que eu posso mudar o limite para baixo , mas não posso alterá-lo para cima - mesmo para voltar a um número que está abaixo do limite original:
$ ulimit -n 800
$ ulimit -n
800
$ ulimit -n 900
-bash: ulimit: open files: cannot modify limit: Operation not permitted
Como root, posso alterar esse limite para o que quiser, para cima ou para baixo. Ele nem parece se importar com o limite supostamente para todo o sistema em / proc / sys / fs / file-max
# cat /proc/sys/fs/file-max
188897
# ulimit -n 188898
# ulimit -n
188898
Mas mesmo que eu comece o eclipse para ser executado como root, meu aplicativo ainda falha por causa da exceção "Too Many Open File"!
Até agora, não encontrei nenhuma maneira de aumentar o limite de arquivos abertos para um usuário não raiz.
Como devo fazer isso corretamente? Eu olhei para vários outros posts, mas sem sorte!