64ビットLinux(CentOS)マシンで、奇妙なTomcat(7.0.21
)および/またはJVMエラーを診断しようとしています。Tomcatが突然終了する
サーバーアプリケーションを読み込み中に100Kメッセージで試してみました。 jvisualvm
を立ち上げ、いつもヒープを見守った。私は約93Kのメッセージを処理し、Tomcatがちょうど死に至るまで、すべてが素晴らしく見ていました(下記参照)。 TomcatのPID番号にps
を入れて、それが死んでいることを確認してください。このクラッシュまでは
:
- 負荷試験を約90分間実行していました。我々は93K/100Kにあったので、2ギガバイト(プラスまたはマイナスのGC後の束)を中心にしたが、ヒープサイズは、約後に4ギガバイトから
MAX_HEAP
に育ったCPUが強い周りの45% - 使用済みヒープを持っていた
- )その後まもなく終了している必要があります30分クラスのロード/アンロードが正常に
- スレッドダンプがサーバーコードでどこにも
通常ではなかったサイクリングた
System.exit()
への呼び出しです - 私たちは右のアウトということを否定することができます(はい、私は、二重ました - チェック!!!)。 これがTomcatクラッシュかJVM(どうすればいいですか?)がわかりません。そして、私が知っていた場合でも、私は何が悪かったのかの兆候を見つけることができないよう:
- サーバーアプリケーションのログのすべてだけで、我々は普遍DEBUGに設定ロギングしているにもかかわらず(すべてのエラーメッセージなしで停止し、高い)
- Tomcatの
catalina.out
と尊敬localhost_access_*
ファイルだけで、私はそれがないときTomcatがコアダンプを記録することが可能です聞いたが、それを行う方法がわからおよびオンラインではない例は」上がらない任意の情報
せず停止大いに役立つ。
どうすればこの問題を診断できますか?考えられるすべての要因を排除するために、どのようなステップを取るべきですか?
ありがとうございます!
シュレーディンガーの風袋ですか? – erickson
さらにログを確認しましたか? http://stackoverflow.com/questions/1575730/debugging-tomcat-crash –
私の経験では、tomcatがOOM Killerによって殺されたかどうかを知ることができます.'Killed 'という単語はcatalina.outの終わり近くに表示されます。 – Tom