2

Tomcat で Web アプリケーションを実行しています。大量のリクエストが発行されると、Tomcat プロセスがハングアップします。これは実稼働 Web アプリであるため、Tomcat Java プロセス/スレッド ダンプを手動で取得するために常に監視することはできません。

Tomcat で jmx リモート ポートを有効にしました

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=2222 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true

私の質問は、Tomcat プロセスが高い CPU[スレッド数]/メモリ使用量/ハングした場合、その時点で、Tomcat スレッド ダンプを目的のディスクの場所に自動的に [コマンド ラインまたはプログラムで] 収集できますか?

4

1 に答える 1

0

これらのオプション:

JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dir'

Tomcat がメモリ不足になったときにコア ダンプを作成します。

この場合、オプションも-verbose:gc役立つ場合があります。

B.2.3 -verbose:gc オプション

この-verbose:gcオプションは、ガベージ コレクション (GC) 情報のログ記録を有効にします。-XX:+PrintGCDetailsやなどの他の HotSpot VM 固有のオプションと組み合わせて-XX:+PrintGCTimeStamps、GC に関する詳細情報を取得できます。出力される情報には、各 GC 前後の世代のサイズ、ヒープの合計サイズ、プロモートされたオブジェクトのサイズ、および所要時間が含まれます。

HotSpot VM のトラブルシューティング ガイド > コマンドライン オプション

于 2014-09-16T12:50:08.193 に答える