Eu pretendo executar um aplicativo Java usando nohup ... &
. O limite deve se aplicar a comandos como este.
Eu pretendo executar um aplicativo Java usando nohup ... &
. O limite deve se aplicar a comandos como este.
Respostas:
A maioria dos sistemas usa PAM e possui pam_limits
limites de módulo configurados com base /etc/security/limits.conf
. O limite por usuário para arquivos abertos é chamado nofile
. Você pode configurá-lo para todos os usuários ou para um usuário ou grupo específico e pode definir um limite que o usuário pode substituir (limite flexível) e outro que somente a raiz pode substituir (limite fixo). A documentação e a limits.conf
página do manual têm os detalhes. Por exemplo, para aumentar o limite para 50000 para todos, insira esta linha /etc/limits.conf
(a configuração entra em vigor quando você faz login):
* - nofile 50000
limits.conf
fazer * hard nofile 50000
e / ou * soft nofile 50000
. Não sei a diferença técnica entre duro e macio e sempre fiz as duas coisas.
limit descriptors 50000
alterar o valor na janela / sessão do terminal.
ulimit
comando (chamado limit
em csh). Um usuário sem privilégios nunca pode ultrapassar o limite máximo.
você pode adicionar fs.file-max = <your number>
em /etc/sysctl.conf
. Então reinicie.
sysctl fs.file-max=123456
. ( /etc/sysctl.conf
é lido no momento da inicialização por um script que chama sysctl
o conteúdo.)
Você pode usar ulimit para isso:
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
Embora você tenha certeza de que é absolutamente necessário abrir tantos identificadores de arquivo antes de recorrer a esses ajustes. Aumentar o número máximo de identificadores de arquivo apenas porque você esqueceu de executar um inputstream.close () em um loop apenas atrasará o problema subjacente.
Use ulimit (comando Bash - man bash ou encontre semelhante para o seu shell) por instância do programa. Não use limites globais do sistema se não souber o que está fazendo - possíveis DoS.
nofile
em limits.conf
ser 100000 sucesso. Posso atestar que a configuração de um valor muito grande impediu o logon subsequente com o SSH e tive que inicializar a partir do dvd para corrigir esse valor no limits.conf para recuperar o sistema.
vi ~/.bashrc
E adicione uma linha no final do arquivo
ulimit -n 169203