javaのHeap dumpを取得したい

batchとかで実行しているjavaのスナップショットをとりたい

※実行中のjavaのプロセスが1111だった場合

                                                • -

1、JavaのHeap dumpを取得する
#gcore 1111

  • >カレントディレクトリにcore.1111(core.)というファイルができる。
  • >めちゃくちゃおもいので要注意!

2、${JAVA_HOME}/bin/jmap -heap:format=b ${JAVA_HOME}/bin/java core.1111

  • > JavaのHeap dumpを取得する。すると、カレントディレクトリにheap.binというバイナリのHeap dumpデータが生成される。

3、Heap dumpデータを解析する
取得したデータと「Eclipse Memory Analyzer」を使用してメモリリークを調査する

                                                • -


ちなみにうちは、2で

Attaching to core core.1111 from executable ${JAVA_HOME}/bin/java, please wait...
Error attaching to core file: Can't attach to the core file

こんなこと言われて失敗しました。

以下参照、
Javaトラブルシューティング メールマガジン バックナンバー一覧
java/MemoryLeaks - tech.cm55.com
JavaプログラムのパフォーマンスアップやOutOfMemoryError例外対策