メモリ アナライザ (v.7.0.5)

v7.0.5 より、Eclipse MAT プラグインをベースにした Curl メモリ アナライザが提供されています。

主な機能は、以下になります。

  • Curlヒープダンプ(.chprof ファイル)の生成
  • メモリアナライザビューでの各種レポートの表示

これによって、ユーザは実行可能な Curl アプレットのヒープダンプを採取し、解析を行うことができます。
メモリリークの解決や、メモリ使用量の把握に役立ちます。

Curlヒープダンプ(.chprof ファイル)の生成方法

生成方法は2通りあります。

1. 実行中のCurl アプレット上で、ctrl + 右クリック、メニューから「ヒープダンプの生成」を選択します。

mat-startmenu.jpg

 2. create-heap-dump API を使用して、Curl アプレットを作成・実行します。

|| Curl ヒープダンプ生成のためのアプレット(例)
{import * from CURL.IDE.PERFORMANCE}

{value
    {CommandButton label = “Create Heap Dump”,
        {on Action do
            {create-heap-dump
                {url “file:///c:/tmp/dump.chprof“},
                show-progress-bar? = true}
        }
    }
}

 

メモリアナライザビューでの各種レポートの表示方法

上記1の方法で、.chprof ファイルを生成した場合、自動的にレポートが表示されます。

下記のGetting Started Wizard 画面が表示されますので、Finish を選択します。

mat-startwizard.jpg

 

任意の.chprof ファイルのオープンは以下から行います。

1. Eclipseワークベンチのメニューから、Window > Open Perspective > Other… を選択します。

2. Open Perspective 画面にて、Memory Analysis を選択します。

3. ツールバーから Open Heap Dump ボタン(もしくは、メニューから、File > Open Heap Dump) を選択します。

mat-openheapdump.jpg

 

4. 任意の場所にある、.chprof ファイルを指定して、「開く」を選択します。

5. Getting Started Wizard 画面が表示されますので、Finish を選択します。

 

メモリアナライザビューでの各種レポートの表示例

Leak Suspects

メモリリークを起こしていそうなオブジェクトを表示します。
各オブジェクトの詳細を確認できます。

mat-leak-suspects.jpg

OverView

詳細として、ヒープダンプのサイズ、クラス・オブジェクト・クラスローダーの数を表示します。
その他アクション、レポート等へのリンクを提供します。

mat-overview.jpg

Histogram

ヒープに存在するのオブジェクトの中クラスごとのインスタンス数の一覧を表示します。  

mat-histogram1.jpg

Dominator Tree

ヒープに存在するのオブジェクトの中で消費するメモリの量が多いオブジェクトの一覧を表示します。

mat-dominatotree.jpg