Je suis sous 5.1-RELEASE-p10 et je rencontre un serieux probleme, j'ai plus
de 9000 (!!!) sockets dans un etat de "TIME_WAIT".
J'ai tue l'application qui les a ouvert mais cela fait plus de 3h qu'ils
sont dans cet etat. Comment m'en debarasser ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Rohee
In article <3ff83560$0$24043$, Thomas wrote:
Bonjour,
Je suis sous 5.1-RELEASE-p10 et je rencontre un serieux probleme, j'ai plus de 9000 (!!!) sockets dans un etat de "TIME_WAIT". J'ai tue l'application qui les a ouvert mais cela fait plus de 3h qu'ils sont dans cet etat. Comment m'en debarasser ?
Si net.inet.tcp.msl est bien le Maximum Segment Life en secondes tout est normal. Une socket reste en TIME_WAIT pendant 2xMSL, le MSL étant le temps de survie maximal possible d'un paquet dans le réseau. Initialement dans le RFC 793 recommande un MSL de 2 minutes (120 secondes) mais avec l'augmentatation de la vitesse des réseaux il est très raisonable de baisser ça à moins d'une minutes voir 30 secondes. Dans ton cas, toujours si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
Donc à moins que tu communiques en TCP avec quelqu'un sur Jupiter baisser ton MSL semble être la bonne solution, et j'ai un peu de mal à croire que 7500 est la valeur par défaut, et je n'ai jamais vu un cas où il était utile de la changer...
In article <3ff83560$0$24043$626a54ce@news.free.fr>, Thomas wrote:
Bonjour,
Je suis sous 5.1-RELEASE-p10 et je rencontre un serieux probleme, j'ai plus
de 9000 (!!!) sockets dans un etat de "TIME_WAIT".
J'ai tue l'application qui les a ouvert mais cela fait plus de 3h qu'ils
sont dans cet etat. Comment m'en debarasser ?
Si net.inet.tcp.msl est bien le Maximum Segment Life en secondes tout est
normal. Une socket reste en TIME_WAIT pendant 2xMSL, le MSL étant le temps
de survie maximal possible d'un paquet dans le réseau. Initialement dans
le RFC 793 recommande un MSL de 2 minutes (120 secondes) mais avec
l'augmentatation de la vitesse des réseaux il est très raisonable de baisser
ça à moins d'une minutes voir 30 secondes. Dans ton cas, toujours si
net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en
TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
Donc à moins que tu communiques en TCP avec quelqu'un sur Jupiter baisser
ton MSL semble être la bonne solution, et j'ai un peu de mal à croire que
7500 est la valeur par défaut, et je n'ai jamais vu un cas où il était
utile de la changer...
Je suis sous 5.1-RELEASE-p10 et je rencontre un serieux probleme, j'ai plus de 9000 (!!!) sockets dans un etat de "TIME_WAIT". J'ai tue l'application qui les a ouvert mais cela fait plus de 3h qu'ils sont dans cet etat. Comment m'en debarasser ?
Si net.inet.tcp.msl est bien le Maximum Segment Life en secondes tout est normal. Une socket reste en TIME_WAIT pendant 2xMSL, le MSL étant le temps de survie maximal possible d'un paquet dans le réseau. Initialement dans le RFC 793 recommande un MSL de 2 minutes (120 secondes) mais avec l'augmentatation de la vitesse des réseaux il est très raisonable de baisser ça à moins d'une minutes voir 30 secondes. Dans ton cas, toujours si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
Donc à moins que tu communiques en TCP avec quelqu'un sur Jupiter baisser ton MSL semble être la bonne solution, et j'ai un peu de mal à croire que 7500 est la valeur par défaut, et je n'ai jamais vu un cas où il était utile de la changer...
Thomas
Bruno Rohee wrote:
Dans ton cas, toujours si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
C'est en milliseconde donc la duree de vie est de 15 secondes.
j'ai un peu de mal à croire que 7500 est la valeur par défaut, et je n'ai jamais vu un cas où il était utile de la changer...
La valeur par defaut etait 30 000, j'ai juste divise par 4 car c'est sur un LAN.
Bruno Rohee wrote:
Dans ton cas, toujours
si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en
TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
C'est en milliseconde donc la duree de vie est de 15 secondes.
j'ai un peu de mal à croire que
7500 est la valeur par défaut, et je n'ai jamais vu un cas où il était
utile de la changer...
La valeur par defaut etait 30 000, j'ai juste divise par 4 car c'est sur un
LAN.
Dans ton cas, toujours si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
C'est en milliseconde donc la duree de vie est de 15 secondes.
j'ai un peu de mal à croire que 7500 est la valeur par défaut, et je n'ai jamais vu un cas où il était utile de la changer...
La valeur par defaut etait 30 000, j'ai juste divise par 4 car c'est sur un LAN.
Bruno Rohee
In article <40125647$0$29078$, Thomas wrote:
Bruno Rohee wrote:
Dans ton cas, toujours si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
C'est en milliseconde donc la duree de vie est de 15 secondes.
Deux solutions donc, un bug ou quelque chose qui ouvre reellement plein de sockets sur ta machine...
Le bug pourquoi pas, j'ai jete un oeil a sys/netinet/tcp_timer.c et rien de manifeste, par contre le message de commit passant de la version 1.45 a 1.46 conseille vaguement le sysctl suivant pour ceux qui ont des problemes de TIME_WAIT....
net.tcp.tcp_seq_genscheme = 0
Bon courage c'est tres etrange tout ca...
In article <40125647$0$29078$636a55ce@news.free.fr>, Thomas wrote:
Bruno Rohee wrote:
Dans ton cas, toujours
si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en
TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
C'est en milliseconde donc la duree de vie est de 15 secondes.
Deux solutions donc, un bug ou quelque chose qui ouvre reellement plein de
sockets sur ta machine...
Le bug pourquoi pas, j'ai jete un oeil a sys/netinet/tcp_timer.c et rien
de manifeste, par contre le message de commit passant de la version 1.45
a 1.46 conseille vaguement le sysctl suivant pour ceux qui ont des problemes
de TIME_WAIT....
Dans ton cas, toujours si net.inet.tcp.msl est bien le MSL en secondes tes sockets resteraient en TIME_WAIT pendant 15000 secondes, soit plus de 4 heures.
C'est en milliseconde donc la duree de vie est de 15 secondes.
Deux solutions donc, un bug ou quelque chose qui ouvre reellement plein de sockets sur ta machine...
Le bug pourquoi pas, j'ai jete un oeil a sys/netinet/tcp_timer.c et rien de manifeste, par contre le message de commit passant de la version 1.45 a 1.46 conseille vaguement le sysctl suivant pour ceux qui ont des problemes de TIME_WAIT....
net.tcp.tcp_seq_genscheme = 0
Bon courage c'est tres etrange tout ca...
Thomas
j'ai jete un oeil a sys/netinet/tcp_timer.c et rien de manifeste, par contre le message de commit passant de la version 1.45 a 1.46 conseille vaguement le sysctl suivant pour ceux qui ont des problemes de TIME_WAIT....
net.tcp.tcp_seq_genscheme = 0
Bon courage c'est tres etrange tout ca...
Effectivement, je n'avais pas regarde de ce cote, merci pour l'info.
En complement d'information, je peux rajouter qu'apres mon premier post, le nombre de sockets est arrive a saturation et la machine est devenu inutilisable. Je l'ai donc reboote. D'apres l'experience de mon entourage, certain sockets en TIME_WAIT peuvent mettre plusieurs heures pour disparaitre (jusqu'a un jour, *TRES* rare, mais ca existe). Pour conclure peut etre qu'en attendant encore j aurais pu recuperer la main sur la machine... helas personne ne le saura...
j'ai jete un oeil a sys/netinet/tcp_timer.c et rien
de manifeste, par contre le message de commit passant de la version 1.45
a 1.46 conseille vaguement le sysctl suivant pour ceux qui ont des
problemes de TIME_WAIT....
net.tcp.tcp_seq_genscheme = 0
Bon courage c'est tres etrange tout ca...
Effectivement, je n'avais pas regarde de ce cote, merci pour l'info.
En complement d'information, je peux rajouter qu'apres mon premier post, le
nombre de sockets est arrive a saturation et la machine est devenu
inutilisable. Je l'ai donc reboote.
D'apres l'experience de mon entourage, certain sockets en TIME_WAIT peuvent
mettre plusieurs heures pour disparaitre (jusqu'a un jour, *TRES* rare,
mais ca existe).
Pour conclure peut etre qu'en attendant encore j aurais pu recuperer la main
sur la machine... helas personne ne le saura...
j'ai jete un oeil a sys/netinet/tcp_timer.c et rien de manifeste, par contre le message de commit passant de la version 1.45 a 1.46 conseille vaguement le sysctl suivant pour ceux qui ont des problemes de TIME_WAIT....
net.tcp.tcp_seq_genscheme = 0
Bon courage c'est tres etrange tout ca...
Effectivement, je n'avais pas regarde de ce cote, merci pour l'info.
En complement d'information, je peux rajouter qu'apres mon premier post, le nombre de sockets est arrive a saturation et la machine est devenu inutilisable. Je l'ai donc reboote. D'apres l'experience de mon entourage, certain sockets en TIME_WAIT peuvent mettre plusieurs heures pour disparaitre (jusqu'a un jour, *TRES* rare, mais ca existe). Pour conclure peut etre qu'en attendant encore j aurais pu recuperer la main sur la machine... helas personne ne le saura...