Estou recebendo o erro relacionado ao esgotamento de porta no meu servidor ("Apenas um uso de cada endereço de soquete (protocolo / endereço de rede / porta) é normalmente permitido").
Então, eu verifiquei com o netstat -n, e ele lista cerca de 84000 conexões.
Com base na porta local e no fato de que o endereço IP externo é eu mesmo, vejo que, por exemplo, 3654 deles se relacionam a um programa em execução no mesmo servidor que matei há mais de 24 horas (ontem de manhã, em facto). Eles estão todos no estado TIME_WAIT, em portas estrangeiras entre 49165 e 65533. Pelo menos alguns dos mesmos números de portas estrangeiras também aparecem como portas locais, por exemplo:
TCP <my_ip>:14046 <my_ip>:49165 TIME_WAIT
...
TCP <my_ip>:49165 <other_ip>:80 TIME_WAIT
14046 é a porta que um programa em meu servidor escuta e que o programa que eu matei ontem costumava conectar repetidamente. host <other_ip>
me dá algo em compute-1.amazonaws.com
, não reconheço o IP. Eu não consigo tirar nada do meu navegador. Então, não consigo descobrir o que nessa máquina teria conectado à porta 80, mas há várias coisas que foram executadas na mesma máquina recentemente que consomem serviços da Web, então eu acho que poderia ser um redirecionamento ou semelhante de um daqueles.
As execuções separadas do netstat com mais de 4 minutos de intervalo mostram que ambas as conexões estão na lista.
Isso é esperado? Eu pensei que os soquetes deveriam finalmente fechar após 4 minutos, mas Netstat normalmente os lista por muito mais tempo? Essas portas estão realmente ocupadas e, em caso afirmativo, há algo que eu possa fazer para liberá-las? De preferência sem reiniciar, mas se eu tiver que, então eu tenho que fazer.
O SO é o Windows Server Enterprise, executado em uma VM Rackspace.
[Edit: hmm, eu deveria ter perguntado isso no serverfault?]
[Outra edição: uma reinicialização pareceu resolvê-lo. Todas as conexões antigas desapareceram e novas conexões do mesmo tipo desaparecerão em poucos minutos, como esperado. Eu diria, portanto, que a pilha de rede de alguma forma entrou em um estado de mau funcionamento.]