2

次のコマンドを使用して、hprof でヒープ ダンプ ファイルを作成しました。

java -agentlib:hprof -cp "..\..\jars\trove.jar;.\bin" com.mysite.MyApp

これにより、約 5MB のファイル「java.hprof.txt」が正常に作成されました。次に、jvisualvm を開いてこのファイルを表示し、ロードしました。しかし、visualvm がロード画面で動かなくなったようです。下の画面は約 10 分間表示されています。

私はステップを逃しましたか?hprof のコマンド ラインで別のオプションを使用する必要がありましたか? このヒープ ダンプ ファイルを読み取るにはどうすればよいですか?

visualvm スクリーンショット

4

2 に答える 2

2

VisualVM は、バイナリ HPROF 形式のヒープ ダンプをサポートしています。VisualVM を使用してヒープ ダンプを作成する方が簡単です。VisualVM を使用できない場合は、 を使用できますjmap -dump:live,format=b,file=heap.bin <pid>。利点は、特別な起動引数を必要とせず、hprof エージェント ライブラリによる速度低下がないことです。

于 2013-05-10T10:57:48.743 に答える
0

私の場合、heapdump ファイルのファイル権限を変更することでこの問題を解決しました。VisualVM がファイルをロードしようとしたが、許可が拒否されたことが判明しました (VisualVM がダンプ ファイルを作成したため、これは奇妙です)。しかし、VisualVM はエラー メッセージを表示しません。Eclipse メモリー・アナライザー ( https://www.eclipse.org/mat/downloads.php ) をダウンロードしました。エラーメッセージが表示されます。

于 2016-02-03T20:49:00.393 に答える