(node) Limite máximo do arquivo atingido. Aumentar “ulimit -n”

3

No Ubuntu 9 estou recebendo uma mensagem no meu servidor que diz:

(node) Hit max file limit. Increase "ulimit -n"

No entanto, os comandos de digitação no terminal revelam o seguinte:

$ ulimit       
unlimited
$ ulimit -n      
65535

E um netstat revela que só tenho ~ 1000 conexões abertas.

Como é possível que eu esteja atingindo meu limite de 65535 apesar de netstat dizer que tenho 1000 conexões ativas? Alguém vê um problema de configuração do servidor que eu possa estar negligenciando ou ter dicas para depurar ainda mais?

    
por kidcapital 01.05.2011 / 06:58

2 respostas

2

ulimit -n exibe o número máximo de descritores de arquivos abertos, não o número máximo de conexões de rede. Você pode querer usar lsof -p <PID_OF_node.js> para descobrir quais arquivos ele abriu. Meu palpite é que seu código node.js tem algumas falhas de lógica.

    
por 01.05.2011 / 11:08
2

Digitar ulimit -n no terminal mostra o limite atual, efetivo para sua sessão atual. Se você alterou o limite após a compilação do início do daemon, os limites para esse daemon não foram afetados. Então você precisará parar / iniciar o daemon. Mas certifique-se de que os limites não estejam chats no script de inicialização do daemon.

Além disso, talvez você queira adicionar algo assim:

*               soft    nofile          2048
*               hard    nofile          2048

para /etc/security/limits.conf, assim você não precisa ulimit -n manualmente a cada vez.

    
por 01.05.2011 / 11:47