• 締切済み

Tomcatが無応答となる現象が起こります

Tomcatを使用して、開発したWebアプリケーションを動かしているのですが、時々無応答になってしまう現象が発生しています。 タスクマネージャーで見るとTomcatのCPU使用率が100%になっており、30分ほど待っても無応答のままなので、都度Tomcatのサービスを再起動して復旧しています。 stdErr/stdOutのログには何も出力されておらず、今のところ再現性も確認できておりません。 どなたかこのような現象をご存知の方はいらっしゃいませんでしょうか? 何か対応方法やアドバイスをいただけませんでしょうか? なお、Tomcatのバージョンは5.5.17で、Windows2003ServerとWindows2000Serverで動かしています(どちらの環境でも現象が発生しています)。 また同一マシン内にApacheも立てており、このバージョンはapache2.2.3です。 アドバイスお願いします。

みんなの回答

回答No.2

私もほとんど同様の現象に困っています。 ひとつ違う点を挙げれば、アプリケーションサーバのCPU使用率が100%にならなにのに、現象が発生します。 現在はWebサーバを立てず、Tomcat単体でなんとかしのいでる状態です・・・。 Tomcat単体ならば発生しないのですが、技術者として・・・ですよね。。。 えっと。。。全然回答になっていないのですが、とりあえず私の環境で現象が発生した際は、アパッチのログにOSエラーが出ていました。 アパッチとWindowsの相性とかあるんですかねー? すみません回答じゃなくて。。。

  • mahny
  • ベストアンサー率74% (57/77)
回答No.1

調べましたら、TOMCATのCPU使用率100%は Apache, Tomcat連携設定でも起こりうることのようです。 # 見つけた記事いろいろ http://sakaguch.com/pastbbs/0034/B0017273.html http://syo.cocolog-nifty.com/freely/2006/11/apache22tomcat5.html http://www.javaroad.jp/bbs/answer.jsp?q_id=20061123012135963 http://forum.java.sun.com/thread.jspa?threadID=395536&messageID=1716908 [英語] stdErr/stdOutのログってのが良く分かりませんが、 コンソールへの標準出力を指しているのでしょうか。 それならば、もう一度ログ確認した方が良いかもです。 私の主観ですが開発中にデバッグの為にコンソールを使うことはあっても、 リリース版ではファイル出力することが殆どだったので…。 JDK1.4以降であれば、標準でロギングAPIの付いてますので考えにくいです。 とりあえず、現象が発生している時の ・Windowsのシステム/イベントログ ・Apache/Tomcatのログ ・WEBアプリのログ あたりから問題を切り分けでは如何でしょうか。 蛇足で、TOMCATのみでのCPU100%ではありませんが ウイルスバスター等のセキュリティソフトのスキャンやアップデートで 100%になっていたことはありましたね。

totti1010
質問者

お礼

mahnyさん 回答いただきありがとうございます、そしてお返事遅くなりまして大変申し訳ございません。。。 CPUが100%になっていたのは、GCが頻発していたことが原因でした。 JVM周りのパラメータを変更することで、GCの発生を抑えることが出来てCPU100%の状態を回避出来るようになりました。 しかし、別の問題が発生してしまいました・・・ 今度はCPUは落ち着いているのですが、サービスを起動させて1時間程度アプリを動かしていると、突然無応答となってしまいます。 ↓Apacheのerror.logにこんなメッセージが表示されておりました。。 [Fri Mar 02 11:55:40 2007] [error] (OS 10060)接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。 : ajp_ilink_receive() can't receive header [Fri Mar 02 11:55:40 2007] [error] ajp_read_header: ajp_ilink_receive failed [Fri Mar 02 11:55:40 2007] [error] (120006)APR does not understand this error code: proxy: read response failed from 127.0.0.1:8009 (localhost) ※OSやTomcatなどのログには、特に気になる記述はありませんでした。 ※ログ内容で探してみたのですが、英語のサイトばかりでホトホト弱っております。。。 どなたか、このような現象をご存知でしょうか?

関連するQ&A