3 votes

Le message "Une opération sur un socket n'a pas pu être exécutée car le système n'avait pas suffisamment de ..." apparaît lorsque le serveur accède à l'internet.

J'ai une application ASP.NET fonctionnant sur Windows Server 2008 R2 hébergé sur des serveurs Rackspace. Soudain, quelque chose a mal tourné. Toute mon application fonctionne bien, sauf les pages qui appellent un service Web tiers (en d'autres termes, qui accèdent à Internet). Je reçois An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full . Lorsque je me connecte au serveur via le bureau à distance et que j'accède à l'Internet, le message "Erreur de connexion" s'affiche.

Stats 22 déc 2015,

CLOSE_WAIT  5   
ESTABLISHED 146
TIME_WAIT   646750
LAST_ACK    1
LISTENING   30

1voto

Pedro Perez Points 5352

Vous venez de manquer de TCB (c'est à dire de Poignées TCP )

La cause peut être n'importe quoi, par exemple :

Fuites au niveau des ports sur tout logiciel commercial que vous utilisez --> Solution : Examinez les logiciels que vous utilisez et appliquez tous les correctifs disponibles. Attaque par épuisement des ports --> Solution : Demandez à votre fournisseur d'hébergement si vos niveaux de trafic sont anormaux. Fuites de port sur tout logiciel personnalisé déployé --> Solution : Demandez à vos développeurs de vérifier s'ils libèrent les TCB après la fermeture des connexions TCP.

Un état time_wait se produit après la fermeture de la connexion TCP. L'ordinateur garde le port dans un état demi-fermé (sic) au cas où il y aurait des paquets retardés. Il doit rester dans cet état pendant un temps défini comme 2xMSL (deux fois la longueur maximale du segment) qui par défaut a une valeur de 400ms (2x200ms). Dans votre cas, soit vous recevez trop de connexions à un rythme plus rapide que celui auquel elles sont complètement fermées (et libérées), soit pour une raison quelconque, elles ne sont pas libérées du tout.

Rackspace étant un hébergeur géré, je vous recommanderais de leur demander de se connecter via le port ILO/DRAC et de redémarrer votre ordinateur si vous voulez juste avancer.

0voto

HimalayanCoder Points 103

Utilisez cette commande pour trouver l'exécutable coupable.

netstat -nbt

tuez cet exe ou arrêtez le service et vous êtes prêt à partir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X