web-dev-qa-db-ja.com

サーバーがインターネットにアクセスすると、「システムに十分な...がないため、ソケットの操作を実行できませんでした」を取得する

RackspaceサーバーでホストされているWindows Server 2008 R2でASP.NETアプリケーションを実行しています。突然何かがおかしくなりました。私のアプリケーションはすべて、サードパーティのWebサービスを呼び出す(つまり、インターネットにアクセスする)ページを除いて、正常に機能しています。 An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full。リモートデスクトップ経由でサーバーにログインしてインターネットにアクセスすると、「接続エラー」が表示されます。

統計2015年12月22日

CLOSE_WAIT  5   
ESTABLISHED 146
TIME_WAIT   646750
LAST_ACK    1
LISTENING   30
3
user960567

TCBを使い果たしました(つまり、TCPハンドル

原因は何でもかまいません。例:

ポートリーク実行中の商用ソフトウェア上->解決策:実行中のソフトウェアを確認し、利用可能な修正プログラムを適用します。ポート枯渇攻撃->解決策:トラフィックレベルが異常かどうかをホスティングプロバイダーに確認します。展開されているカスタムソフトウェアのポートリーク->解決策:TCP接続を閉じた後にTCBを解放しているかどうかを開発者に確認してもらいます。

Time_wait状態は、TCP接続が閉じた後に発生します。遅延パケットがある場合、コンピューターはポートをハーフクローズ(シック)状態に保ちます。この状態は、2xMSL(最大セグメント長の2倍)として定義されている間、デフォルトで400ms(2x200ms)の値になります。あなたの場合、接続が完全に閉じられている(そして解放されている)よりも速いペースで接続が多すぎるか、何らかの理由でこれらがまったく解放されていないかのどちらかです。

Rackspaceを管理されたホスティングとして使用する場合は、ILO/DRACポートを介してログインし、移動するだけの場合はコンピューターを再起動するように依頼することをお勧めします。

1
Pedro Perez

このコマンドを使用して、原因となる実行可能ファイルを見つけます

netstat -nbt

そのexeを殺すか、サービスを停止すると、あなたは行ってもいいです

0
HimalayanCoder