Limite ao número de portas de escuta no linux

2

Eu tentei lançar um script para ouvir milhares de portas tcp (de 1000 a 10000), mas parece estar atingindo um limite de 1024 portas de escuta. Confirmei isso via netstat e portas fechadas acima de determinados intervalos.

Existe um limite fixo de portas de escuta no linux e como, se possível, isso pode ser levantado?

    
por loloy.batoytoy 07.02.2015 / 15:06

2 respostas

4

Você provavelmente está atingindo o limite de nofile, que é por padrão 1024.

Tente aumentar o ulimit -n no seu shell antes de executar o programa, como:

$ ulimit -n 20480; ./myprogram

Claro, você precisa ter um privilégio para aumentar o limite de nofile tão alto, portanto, verifique os limites atuais de soft e hard com:

$ ulimit -a

E crie-os em /etc/security/limits.conf ou em /etc/security/limits.d/*conf

    
por 07.02.2015 / 15:18
0

A propósito, eu não mencionei que o programa / script é iniciado pelo xinetd, e que o xinetd está ignorando as configurações ulimit nofile, olhando a fonte xinetd agora para tentar ignorar esta limitação.

    
por 08.02.2015 / 04:49