/proc/sys/net/ipv4/tcp_keepalive_time". "; 2. Editez le fichier "/etc/sysctl.conf", la syntaxe est "net.ipv4.tcp_keepalive_time=specified value"."/> /proc/sys/net/ipv4/tcp_keepalive_time". "; 2. Editez le fichier "/etc/sysctl.conf", la syntaxe est "net.ipv4.tcp_keepalive_time=specified value".">

Maison >Opération et maintenance >exploitation et maintenance Linux >Que faire si la connexion TCP n'est pas libérée sous Linux

Que faire si la connexion TCP n'est pas libérée sous Linux

WBOY
WBOYoriginal
2022-07-13 10:53:153740parcourir

Solution : 1. Vous pouvez rapidement libérer la connexion du port en modifiant la configuration keepalive à une valeur appropriée. Utilisez echo pour définir "set tcp_keepalive_time". La syntaxe est "echo "specify value" > /proc/sys/net/. ipv4/ tcp_keepalive_time"; 2. Editez le fichier "/etc/sysctl.conf", la syntaxe est "net.ipv4.tcp_keepalive_time=specified value".

Que faire si la connexion TCP n'est pas libérée sous Linux

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Que dois-je faire si la connexion TCP n'est pas libérée sous Linux ?

Description du problème

Pendant le développement et les tests, j'ai constaté que la connexion était refusée lorsque le port du serveur était déconnecté puis reconnecté.

Analyse : Vérifiez l'occupation du port sur le serveur, en supposant que le port est 8080.

netstat -anp |grep 8080

On constate que le port 8080 est occupé (l'IP est l'IP locale et doit être la dernière connexion) et l'état est ESTABLISHED. Cependant, la connexion a effectivement été déconnectée, mais le serveur n'a pas été déconnecté. Vérifiez le TCP. configuration keepalive.

sysctl -a |grep keepalive

Trouvé comme étant la configuration par défaut

net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 75

Par défaut, un paquet de détection keepalive sera envoyé pour confirmer l'état de la connexion après que la connexion soit inactive pendant 7 200 secondes ou 2 heures.

Solution

Solution :

1. En modifiant la configuration keepalive à une valeur appropriée (par exemple en passant à 200 secondes), la connexion du port peut être rapidement libérée.

Modification temporaire, définissez tcp_keepalive_time via echo.

echo "200" >  /proc/sys/net/ipv4/tcp_keepalive_time

2. Pour le rendre permanent, éditez /etc/sysctl.conf, ajoutez-le ou modifiez-le en

net.ipv4.tcp_keepalive_time = 200

puis exécutez la commande pour que la configuration modifiée prenne effet

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn