Menos de 1000 conexões possíveis, embora eu tenha atualizado sysctl

1

Eu rodei o c1000k na minha máquina CentOS 7.2 e ele me disse

connections: 921
error: Too many open files

Por causa disso, mudei meu /etc/sysctl.conf para conter isso:

fs.file-max = 2097152

Mas mesmo depois de uma reinicialização, eu ainda estou no mesmo limite. ulimit -Sn e ulimit -Hn print 1024 respectivamente 4096 .

    
por Marged 13.12.2017 / 09:50

1 resposta

3

O ulimit descritor efetivo (soft) 1024 é um total para o processo, incluindo descritores que são usados para fins de não conexão. Aparentemente, esse processo está usando cerca de 100 descritores para outras coisas, deixando apenas 921 para conexões. lsof -p <process-id> mostrará como os descritores estão sendo usados.

Para permitir mais descritores, aumente o limite flexível antes de iniciar o processo. Se você está correndo do bash, isso seria:

    ulimit -Sn 2048

para aumentá-lo para 2048 para comandos futuros. Para aumentar o limite suave para qualquer que seja o máximo permitido (o limite rígido, neste caso 4096), você pode fazer:

    ulimit -Sn unlimited

Se você quiser que o limite elevado se aplique apenas a um comando e não a outros comandos futuros, aumente o limite em um subnível:

    (ulimit -Sn 2048 ; c1000k)

Se você quiser ir além do seu limite rígido atual de 4096 descritores, poderá executar seu teste a partir de uma conta de usuário que tenha privilégio suficiente para aumentar o limite rígido ou alterar os valores ulimit fixos e duros definidos no login tempo para sua conta de usuário, modificando /etc/security/limits.conf ou (melhor) adicionando arquivos em /etc/security.d . Veja os comentários no arquivo limits.conf ou execute man limits.conf para detalhes.

    
por 15.12.2017 / 00:19

Tags