Isso está acontecendo no Ubuntu Release 12.04 (preciso) Kernel Linux de 64 bits 3.2.0-25-virtual
Estou tentando aumentar o número de arquivos abertos permitidos para um usuário. Isso é para o meu aplicativo java do eclipse, onde o limite atual de 1024 não é suficiente.
De acordo com os posts que eu 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 estiver 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 alterar o limite para baixo , mas não para cima - mesmo para voltar para um número 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 eu quiser, para cima ou para baixo. Nem parece se importar com o supostamente limite de 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 o eclipse seja executado como root, meu aplicativo ainda trava por causa da exceção "Muitos arquivos abertos"!
Até agora, não encontrei nenhuma maneira de aumentar o limite de arquivos abertos para um usuário não root.
Como devo fazer isso corretamente? Eu olhei para vários outros posts, mas sem sorte!
/etc/security/limits.conf
, talvez seja necessário sair e fazer login novamente antes de poder usar o novo limite máximo. Fiz isso e fiquei perplexo aoulimit -Hs
mostrar 1000 quando acabei de aumentá-lo para 1000000! Então eu saí e voltei, e o ulimit mostrou a nova quantia.