ヒープトレース (メモリーの割り当て) データ

関連項目

ヒープトレースデータの収集目的

ヒープトレースデータの収集によって、プログラムのメモリーリークを検出したり、動的メモリーの使い方が非効率的な箇所を特定することができます。

コレクタによるヒープトレースデータの収集

コレクタは C 標準ライブラリメモリー割り当て関数 mallocrealloc、および memalign、および割り当て解除関数 free にラッパー関数を挿入します。 Fortran サブルーチンの allocatedeallocate は、C 標準ライブラリ関数を呼び出すため、これらのサブルーチンも間接的にトレースされます。

パフォーマンスアナライザでわかるヒープトレースメトリック (計測データ) の種類

ヒープトレースデータは、次のメトリックに変換されます。

メトリック 定義
割り当て メモリー割り当て関数の呼び出し数。
割り当てバイト数 メモリー割り当て関数の各呼び出しで割り当てられるバイト数の合計。
リーク free 呼び出しが対応していなかったメモリー割り当て関数の呼び出し数。
リークバイト数 割り当てられたけれども解放されなかったバイト数。

ヒープトレースデータ収集に関する制限事項

既に実行されているプログラムからはヒープトレースデータを収集できません。ただし、コレクタライブラリの libcollector.so が事前に読み込まれている場合は収集できます。 詳細については、動作中プロセスのパフォーマンスデータの収集を参照してください。

Java[tm] メモリー割り当ておよび割り当て解除はトレースできません。

詳細についてはマニュアル『プログラムのパフォーマンス解析』を参照してください。

関連項目
パフォーマンスデータの収集

著作権と商標について