6

Java プログラムからヒープ ダンプを生成しようとしていますが、何を試しても、その方法がわかりません。

アクティブなjreプロセスからヒートダンプを取得できるはずのEclipseメモリアナライザー(プラグイン、次にスタンドアロン)をダウンロードしましたが、何もリストされていません。ドキュメントには、それらを生成する他の方法がいくつかリストされていますが、それらのいずれも機能しないようです。または、システムに存在しないように見えるものを参照しています。私がウェブ上で見つけることができたものから同じことが当てはまります...

プログラムがメモリ不足の例外を引き起こしているわけではなく、予想よりもはるかに多くのリソースを使用しているだけです。

私は、それがどのように正確に行われるべきかについて完全に途方に暮れています:/

どんな助けでも感謝します。

4

1 に答える 1

8

Java JDK のjmap.exe.

  • あなたPIDはあなたのプロセスを手に入れます。
  • %JAVA_HOME%/bin/ (JDK) に移動します。
  • コンソール (コマンド プロンプト) で次のように入力します。jmap.exe -dump:format=b,file=C:\dump\dump.bin PID
    • ダンプ ファイルは指定したパスに保存されます (私の例ではC:\dump\dump.bin)

その後、NetBeans IDE を使用してこのダンプを分析できます。組み込みのツールがあり、インポートするだけdump.binです。

于 2013-06-16T17:11:58.670 に答える