
Tomcatを使用して、開発したWebアプリケーションを動かしているのですが、時々無応答になってしまう現象が発生しています。
タスクマネージャーで見るとTomcatのCPU使用率が100%になっており、30分ほど待っても無応答のままなので、都度Tomcatのサービスを再起動して復旧しています。
stdErr/stdOutのログには何も出力されておらず、今のところ再現性も確認できておりません。
どなたかこのような現象をご存知の方はいらっしゃいませんでしょうか?
何か対応方法やアドバイスをいただけませんでしょうか?
なお、Tomcatのバージョンは5.5.17で、Windows2003ServerとWindows2000Serverで動かしています(どちらの環境でも現象が発生しています)。
また同一マシン内にApacheも立てており、このバージョンはapache2.2.3です。
アドバイスお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
私もほとんど同様の現象に困っています。
ひとつ違う点を挙げれば、アプリケーションサーバのCPU使用率が100%にならなにのに、現象が発生します。
現在はWebサーバを立てず、Tomcat単体でなんとかしのいでる状態です・・・。
Tomcat単体ならば発生しないのですが、技術者として・・・ですよね。。。
えっと。。。全然回答になっていないのですが、とりあえず私の環境で現象が発生した際は、アパッチのログにOSエラーが出ていました。
アパッチとWindowsの相性とかあるんですかねー?
すみません回答じゃなくて。。。
No.1
- 回答日時:
調べましたら、TOMCATのCPU使用率100%は
Apache, Tomcat連携設定でも起こりうることのようです。
# 見つけた記事いろいろ
http://sakaguch.com/pastbbs/0034/B0017273.html
http://syo.cocolog-nifty.com/freely/2006/11/apac …
http://www.javaroad.jp/bbs/answer.jsp?q_id=20061 …
http://forum.java.sun.com/thread.jspa?threadID=3 … [英語]
stdErr/stdOutのログってのが良く分かりませんが、
コンソールへの標準出力を指しているのでしょうか。
それならば、もう一度ログ確認した方が良いかもです。
私の主観ですが開発中にデバッグの為にコンソールを使うことはあっても、
リリース版ではファイル出力することが殆どだったので…。
JDK1.4以降であれば、標準でロギングAPIの付いてますので考えにくいです。
とりあえず、現象が発生している時の
・Windowsのシステム/イベントログ
・Apache/Tomcatのログ
・WEBアプリのログ
あたりから問題を切り分けでは如何でしょうか。
蛇足で、TOMCATのみでのCPU100%ではありませんが
ウイルスバスター等のセキュリティソフトのスキャンやアップデートで
100%になっていたことはありましたね。
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が見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
system.out.printが出力されない
-
javaです
-
一定のスペースを空けて端を揃...
-
サーブレットPrintWriterについて
-
VBAでEUC-JPのHTMLソースを取得...
-
flush()とclose()について
-
javaのwhile文で九九の表
-
VBSエラー"オブジェクト型の変...
-
tomcatのstdout.logを停止したい。
-
Log4jで機能毎に別ファイルへ出...
-
System.out.printlnの意味がよ...
-
ダブルクォーテーション(””)...
-
ORA-01858: 数値を指定する箇所...
-
オブジェクトの中のプロパティ...
-
ダブルクォーテーションを含む...
-
java 拡張for map
-
JSPやサーブレットでSystem.out...
-
JSPでHashMap・配列の変数の値...
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
flush()とclose()について
-
Log4jで機能毎に別ファイルへ出...
-
System.out.printlnの出力先
-
Javaで改行などが出来ないのです。
-
system.out.printが出力されない
-
一定のスペースを空けて端を揃...
-
Tomcatが無応答となる現象が起...
-
1~100までの数字を表示し、か...
-
ジャバスクリプトについて。
-
switch分が機能しません。
-
Log4Jではログを改行できない?
-
System.out.printlnの意味がよ...
-
OpenSSL関数エラーについて
-
テキストエリアで改行する
-
プールとスプールの違いがわか...
-
VBAでEUC-JPのHTMLソースを取得...
-
Javaで任意のパスへ任意のファ...
-
JAVAのServletで、画像表示につ...
-
Eclipseのコンソールを常に表示...
おすすめ情報