GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je me débarrasser des sockets dans l'état FIN_WAIT1 ?

Solution 1 :

# record what tcp_max_orphans's current value
original_value=$(cat /proc/sys/net/ipv4/tcp_max_orphans)

#set the tcp_max_orphans to 0 temporarily
echo 0 > /proc/sys/net/ipv4/tcp_max_orphans

# watch /var/log/messages
# it will split out "kernel: TCP: too many of orphaned sockets"
# it won't take long for the connections to be killed

# restore the value of tcp_max_orphans whatever it was before. 
echo $original_value > /proc/sys/net/ipv4/tcp_max_orphans

# verify with 
netstat -an|grep FIN_WAIT1

Solution 2 :

Vous devriez pouvoir définir le délai d'attente avec /proc/sys/net/ipv4/tcp_fin_timeout .

Il ne semble vraiment pas y avoir de moyen d'effacer le socket manuellement.

Solution 3 :

Il semble que le paramètre tcp_orphan_retries contrôle le nombre de tentatives à effectuer avant la libération d'un port sans serveur. C'était 0 ici, après l'avoir mis à 1, les ports avaient disparu.

HTH

Solution 4 :

/proc/sys/net/ipv4/tcp_fin_timeout est le délai d'expiration de l'état FIN-WAIT-2, et non FIN-WAIT-1. Vous devriez aller avec la route tcpkill ou vous pouvez essayer de jouer avec les temps keepalive sous /proc/sys/net/ipv4/tcp_keepalive_* pour forcer une mise à mort par le SO.

Solution 5 :

Exécutez ces étapes sous l'ID racine et cela a été effacé pour moi :

Capturez le paramètre du noyau à modifier dans une variable

$ orig_orphans=$(sysctl -a|grep tcp_max_orph|cut -f3 -d' ')

Définissez temporairement le nombre maximal d'orphelins sur 0

$ sysctl -w net.ipv4.tcp_max_orphans=0

Vérifiez que le port problématique n'est plus utilisé

$ netstat -np|grep 9716

Attendez un peu et répétez l'étape ci-dessus si nécessaire jusqu'à ce que la commande ci-dessus ne renvoie aucune ligne

Réinitialisez le paramètre du noyau tcp_max_orphans à la valeur d'origine de la variable ci-dessus

$ sysctl -w net.ipv4.tcp_max_orphans=$orig_orphans

Linux
  1. `^m` et comment s'en débarrasser ?

  2. Comment obtenir la taille du répertoire sous Linux

  3. Comment obtenir l'ID de processus du processus d'arrière-plan ?

  4. Comment puis-je obtenir l'état du clavier sous Linux?

  5. Comment obtenir l'utilisation du processeur

Comment obtenir votre adresse IP sous Linux

Comment faire fonctionner Uuencode ?

Comment se débarrasser du décalage de la souris sous Ubuntu ?

Comment obtenir une liste de répertoires dans un zip ?

Comment se débarrasser de cette ligne verticale dans Geany

Comment programmer un redémarrage sous Linux ?