■取得
jmapは<JDK_HOME>/binにあります。
[root@PSQ96045 bin]# ./jmap -dump:format=b,file=<任意のファイル名> <PID>
以下をjvmオプションに追加しておくとOOM発生時にヒープダンプが出力されます。
-XX:+HeapDumpOnOutOfMemoryError
■解析
Javaのjhatを使用して解析します。
以下手順になります。
1.<JDK_HOME>/bin/jhat <OOMEのヒープダンプの絶対パス>
すると、jhatのサーバが起動します。
[root@PSQ96045 bin]# ./jhat /download/jdk1.6.0_20/bin/
core123
Reading from /download/jdk1.6.0_20/bin/core123...
Dump file created Fri Jun 25 11:31:43 JST 2010
Snapshot read, resolving...
Resolving 1559170 objects...
Chasing references, expect 311 dots.
...
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
2.ブラウザを起動して、
と入力してください。jHatのWeb画面が出てくるはずです。
3.以下の項目を確認
Show instance counts for all classes (excluding platform)
と、こんな感じ。