Executamos um serviço com vários dispositivos incorporados no campo, sua pilha tcp é um pouco problemática e, às vezes, não fecha as conexões corretamente, resultando em algumas conexões presas no FIN-WAIT-2 no servidor.
Normalmente, essas conexões estariam no tempo limite de acordo com /proc/sys/net/ipv4/tcp_fin_timeout
, mas nossas conexões ainda são visíveis após um minuto em ss
. Mesmo reiniciar o processo não se livrar deles, a única maneira parece ser uma reinicialização.
A solução a longo prazo é, claro, consertar os clientes para fechar a conexão corretamente, mas me preocupa que as conexões não estejam expirando, mesmo que devam ser. O que poderia causar isso? Como posso me livrar das conexões inúteis?