38

TomcatはWindowsでWebアプリを実行しています。数日後(非常に低い負荷の下で)、タイトルに記載されている例外がログに表示され始め、その時点から新しい接続を確立できなくなります。唯一の修正はサーバーを再起動することです。

環境:

  • 最新のTomcat6
  • Windows Server 2008 R2
  • JDK6アップデート30
  • SQL Server 2008
  • Kerberos認証

これまでに収集された証拠:

  • netstatは過剰な接続量を示していません
  • ProcessExplorerは、開いているファイルハンドルの量が多すぎないことを示しています
  • システムのメインメモリ使用量は平均です
  • JVMヒープ使用量は平均です
  • Tomcatを再起動しても問題は解決しません

未解決の質問:

  • 接続がリークしている場合、それらはnetstatに表示されるべきではありませんか?
  • OSはすべてのプロセスリソースを解放する必要があるため、appserverを再起動しても問題は解決しませんか?
  • 問題の原因を突き止める方法はありますか?たとえば、監視ソフトウェアのインストール、おそらくlsofなどに似たものですか?

私はアイデアがありません、どんなヒントもありがたいです!

4

3 に答える 3

57

このエラーが発生した理由は、Windows Server 2008 R2 / Windows 7のバグです。複数のコアを搭載したマシンの競合状態が原因で、カーネルがループバックソケットをリークします。このパッチにより、問題が修正されます: http://support.microsoft。 com / kb / 2577795

于 2012-04-18T10:49:36.357 に答える
11

Windows764ビットでAlfrescoCommunity4.0dを実行していましたが、同じ症状とエラーが発生しました。

この問題は、Microsoftのパッチで修正されました:「WindowsServer 2008R2またはWindows7を実行しているマルチプロセッサコンピューターでカーネルソケットがリークする」(http://support.microsoft.com/kb/2577795)(つまり、Buddy Casinoの回答(参照)下))。

追加したいもう1つの観察結果は、Windows接続(Internet Explorer、リモートデスクトップなど)は、Alfrescoサービスがシャットダウンされてから約5〜10分後に再び機能することです。

Alfrescoは優れた製品であり、私はそれを廃棄しなければならないのではないかと心配していました。幸いなことに、stackoverflowが助けになりました!

バディカジノの回答に改めて感謝します。

質問に反対票を投じた人にブーイング。

于 2012-07-13T15:22:33.047 に答える
1

同様のセットアップ、W2008R2、Tomcat 6.0.29、Java1.6.0.25でも同じことがわかります。tomcatを再起動しても効果はありませんが、少なくともしばらくの間、サーバー自体を再起動しても効果があります。前回から個々のサービスのシャットダウンを開始し、サーバー上で実行されているAlfrescoのインスタンスまたはBackupExecAgentサービスのいずれかに絞り込んだと考えています。これらのサービス(合計4つ)が停止した後、Tomcatのアプリケーションは再び動作を開始しましたが、stdoutログに奇妙なバッファ/接続エラーがまだ表示されていました。問題が再発するのを待ってから、原因を確認する必要があります。原因は数日から1週間以上になる可能性があります。

サーバーでAlfrescoまたはBEを実行している可能性はありますか?

于 2012-04-12T20:21:20.253 に答える