dotMemory 2018.3ヘルプ

プロファイリングセッションの制御

プロファイリングセッションを実行すると、dotMemoryは新しい分析タブを開き、プロファイリングされたアプリケーションを起動します。

controlling profiling process 1

プロファイリングプロセスを制御するには、ページ pos 2の上部にある次のボタンを使用します。

  • フォースGC : アプリケーション内のフルガベージコレクションを強制します。

  • キルプロセス : アプリケーションの現在選択されているプロセスを強制終了します。
  • すべてのプロセスを終了する* : アプリケーションのすべてのプロセスを強制終了します。

  • デタッチ** : プロファイラをアプリケーションから切り離しますが、アプリケーションは実行し続けます。

  • 割り当てを収集する : メモリ割り当てデータの収集を有効または無効にします。
    このオプションを使用して、プロファイラーのオーバーヘッドを削減し、必要なときにのみ割り当てデータを収集します(たとえば、プロファイリングしたいアプリ機能を使用するときのみ)。プロファイリング中に少なくとも1回は割り当ての収集をオフにすると、メモリトラフィックデータは不完全になります。メモリトラフィックの分析でさらに学びましょう。

  • 条件によるスナップショットの取得 : 条件によるスナップショットの取得ウィンドウを開きます。このウィンドウを使用して、特定の条件が発生したときに自動的にスナップショットを取得するようにdotMemoryを設定できます。条件によるスナップショットの取得でさらに学びましょう。

  • スナップショットを取得する : プロセスのリスト pos 1 *で選択されたプロセスのメモリスナップショットを取得します。スナップショットは、収集されたスナップショット領域 pos 4に追加されます。スナップショットを取得してもプロファイリングプロセスは中断されず、別のスナップショットを取得できます(たとえば、後で最初のスナップショットと比較できます)。スナップショットのキャプチャが終了したら、プロファイリング結果の分析に進むことができます。

マルチプロセスアプリケーションのプロファイリング

スタンドアロンまたは.NET Coreアプリケーションが複数のプロセスを実行する場合は、特定のプロセスのメモリスナップショットを作成できます。

特定のプロセスのスナップショットを取得するには

  1. 有効になっているプロファイルの子プロセス プロファイリングオプションを使用してプロファイリングを開始します。

  2. プロファイリングセッションが開始したら、ドロップダウンリスト pos 1から目的のプロセスを選択します。

  3. スナップショットを取得するをクリックします。

リアルタイムのプロファイリングデータの表示

タイムライングラフ pos 3 は、アプリがリアルタイムでメモリをどのように消費するかを示しています。タイムラインは、次のような数多くのチャートから構成されています。

  • 非管理メモリ : 管理されていないメモリのインスタントサイズ。このチャートを追加するには、pos 2管理されていないメモリを表示するチェックボックスを選択してください。

  • ヒープ世代0,1,2ラージオブジェクトヒープ (LOH):Gen0、Gen1、Gen2ヒープおよびラージオブジェクトヒープのインスタントサイズ。

  • GC以来LOHに割り当てられています : 最後のガベージコレクション以降にラージオブジェクトヒープに割り当てられているオブジェクトのインスタントサイズ(各GCの後、チャートはゼロから再開します)。このチャートを使用して、LOH割り当てがいつ行われるか(アプリケーションの起動時、一部の作業中など)およびそれらがどれほど激しいかを理解します(たとえば、アプリはLOHサイズを変更しない重要なLOHメモリトラフィックを持つことができます)。

プロファイリングコントロールを別のウィンドウに表示

pos 2detached pcw ボタンをクリックすると、プロファイリングコントロールを別のプロファイリングコントローラーウィンドウに切り離すことができます。コントローラーウィンドウは常に他のウィンドウの上に表示されます。これは、モニターが1台しかないデスクトップで特に役立ちます。

最終更新日: 2019年3月15日

関連事項