![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
flush()とclose()について
-
System.err. printlnとSystem.o...
-
大容量のテキストファイルの内...
-
1~100までの数字を表示し、か...
-
テキストエリアで改行する
-
プールとスプールの違いがわか...
-
サーブレットのログ出力先
-
日付と曜日が合わない
-
java 出力されたexcelを並べ替え
-
Log4jで機能毎に別ファイルへ出...
-
一定のスペースを空けて端を揃...
-
tomcatのstdout.logを停止したい。
-
ジャバスクリプトについて。
-
InputStreamはreadが1回しかで...
-
Javaで改行などが出来ないのです。
-
数字文字列をパック10進数に変...
-
javaのwhile文で九九の表
-
Jupyter notebookですわかりま...
-
javaについて
-
Javaの問題なのですが、 永久ル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
Javaで改行などが出来ないのです。
-
flush()とclose()について
-
Log4jで機能毎に別ファイルへ出...
-
System.out.printlnの出力先
-
1~100までの数字を表示し、か...
-
system.out.printが出力されない
-
Eclipseのコンソールを常に表示...
-
JavaScriptの変数をjavaのメソ...
-
switch分が機能しません。
-
Tomcatが無応答となる現象が起...
-
1~100までの数字を表示したい
-
数字文字列をパック10進数に変...
-
テキストエリアで改行する
-
JAVAのServletで、画像表示につ...
-
InputStreamはreadが1回しかで...
-
StringBufferで改ページ処理を...
-
ダブルクォーテーション(””)...
-
javaにおけるCSV出力時の文字コ...
-
VBAでEUC-JPのHTMLソースを取得...
おすすめ情報