ヒープダンプ【heap dump】

概要

ヒープダンプとは、Javaプログラムの実行環境であるJava仮想マシンJVM)のヒープ領域の内容を丸ごとファイルに写し取ったもの。エラーの原因調査などに用いられる。
ヒープダンプのイメージ画像

JVMJavaプログラムを実行する際、コンピュータメインメモリ上にヒープheap)と呼ばれる領域を確保し、その中にプログラム中で必要になる変数やオブジェクトインスタンスなどを格納していく。

ヒープダンプはプログラム実行中のJVMのある瞬間のヒープ領域の内容をそのまま丸ごと外部に出力したもので、米オラクルOracle)社標準のJVMの場合は拡張子「.hprof」のファイルバイナリ形式で保存される。Java VisualVMのような実行環境を使えば、プログラムを実行しながらヒープの状態を表示することもできる。

ヒープダンプのファイル出力は、JVMの起動時にエラーで実行が中断されたらヒープダンプを出力するようオプションで指定するか、jmapなどのツールを用いて実行中のJVMから取得することができる。得られたダンプファイルを解析する「Memory Analyzer」などのツールも提供されており、ファイルを解析して含まれるインスタンスやその階層構造、メモリリークが疑われる箇所などを表示してくれる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。