Javaプロセスのヒープメモリを解析する。
スポンサーリンク
たまに必要になるが、やり方を忘れてしまうのでメモを残しておく。
コマンドプロンプトを開いて、以下の3つのコマンドを実行する。
jps -lm
jmap -dump:format=b,file=java.hprof (JavaプロセスのPID)
jhat java.hprof
jhat の起動に成功すると、コンソールに以下のようなログが出力されるはず。
Reading from java.hprof...
Dump file created EEE MMM dd HH:mm:ss z yyyy
Snapshot read, resolving...
Resolving [0-9]+ objects...
Chasing references, expect [0-9]+ dots...
Eliminating duplicate references...
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
最後に jhat を実行したマシン上でブラウザを開いて以下のアドレスにアクセスすれば、プロファイリングの結果が見れる。
参考資料:
- jps - Java 仮想マシンプロセスステータスツール
- jmap - メモリーマップ
- jhat - Java ヒープ解析ツール
- http://itpro.nikkeibp.co.jp/article/COLUMN/20061102/252525/
- Javaでヒープダンプの取得/解析メモ その1|ネガティブプログラマ2.0
- http://d.hatena.ne.jp/thiuchida/20110730/1312024102