ヒープダンプ
特定の時刻にJava VMヒープ内に含まれていた全てのオブジェクトのスナップショット。
特にJava
参考(https://docs.oracle.com/javase/jp/6/technotes/guides/visualvm/heapdump.html)
特定の時刻にJava VMヒープ内に含まれていた全てのオブジェクトのスナップショット。
すべてのクラスインスタンスと配列用のオブジェクトのメモリーを、ヒープから割り当てます。
ヒープを調べれば、オブジェクトが作成された場所を特定し、それらのオブジェクトへの参照をソース内で見つけることができます。
引用(https://docs.oracle.com/javase/jp/6/technotes/guides/visualvm/heapdump.html) " ヒープダンプとは、ある特定の時刻に Java Virtual Machine (JVM) ヒープ内に含まれていたすべてのオブジェクトのスナップショットのことです。 JVM ソフトウェアは、すべてのクラスインスタンスと配列用のオブジェクトのメモリーを、ヒープから割り当てます。 ガベージコレクタは、あるオブジェクトが不要となり、かつそのオブジェクトへの参照が 1 つも存在しない場合に、そのヒープメモリーを回収します。 ヒープを調べれば、オブジェクトが作成された場所を特定し、それらのオブジェクトへの参照をソース内で見つけることができます。 JVM ソフトウェアが不要オブジェクトのヒープからの削除に失敗している場合、Java VisualVM を使えば、そのオブジェクトのもっとも近いガベージコレクションルートを特定できます。 "
ヒープ領域の設定。javaコマンドのオプションで設定する。
java -Xms:1g -Xmx:1g javaApp
・-Xms:[size] 初期サイズと最小サイズ。springAppだが自動でヒープが増えるのを確認している。
・-Xmx:[size] 最大値
ヒープの一部で小規模のオブジェクトが入れられ、いっぱいになるとGCされ、ここでずっとアクティブだったオブジェクトがヒープの残りの(古い)領域に移る。
footerではない