2

メモリリークが原因でTomcatアプリケーションがクラッシュしました。クラッシュしたsystem/jvmでヒープダンプを取得したいと思います。出来ますか?私はwindows/tomcat 6をどのように使用していますか?

4

4 に答える 4

4

プロセスはもう存在しません。したがって、ダンプするヒープはありません。次回は「-XX:+HeapDumpOnOutOfMemoryError」を使用します。

于 2012-03-27T13:37:43.947 に答える
3

実行時にヒープダンプを取得するには、次の方法があります。

jmap -dump:live、format = b、file = heap.dump

于 2012-03-27T14:16:27.517 に答える
2

実行されなくなったプロセスでヒープダンプを取得することはできません。次にTomcatを起動するときは、catalina.sh最初に呼び出された/ binディレクトリ内のファイルを編集して、メモリが不足した場合にヒープを自動的にダンプするオプションが含まれるようにする必要があります。

JAVA_OPTS必要なJVMオプションが含まれるように、変数を編集する必要があります。したがって、ファイルの先頭近くで、JAVA_OPTS作成後、次のようなことを行う必要があります。

JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"

JConsoleを使用してヒープダ​​ンプを取得することもできますが、これを行うには、ヒープダンプが問題の診断に役立つように、Tomcatのメモリが不足している時期を大まかに知る必要があります。

于 2012-03-27T14:41:41.880 に答える
1

アプリケーションが応答しないのにJVMがまだ足を引きずっている場合は、JConsoleを使用して、ヒープダンプをトリガーしてみてください。このリンクでヒープダンプを検索する

于 2012-03-27T14:12:28.920 に答える