プロファイリングセッションの構成
プロファイリングセッションを構成するには、次のことを行う必要があります。
プロファイルするアプリケーションを dotMemory で実行する方法を指定します。これは、実行構成を使用して行うことができます。すでに実行中のアプリケーションのプロファイルを作成する場合、この手順は必要ありません。
必要に応じて、他のプロファイリングオプションとプロセスフィルターを構成します。
1. 実行構成の作成
実行構成は、プロファイルされたアプリケーションをどのように実行するかを dotMemory に指示する方法です。例: スタンドアロン .NET アプリケーションの実行構成には、アプリケーション実行可能ファイルへのパス、コマンドライン引数、アプリケーション作業ディレクトリへのパスが含まれます。
プロファイルされたアプリケーションの実行構成がすでにある場合は、プロファイルするものを選択する 新しいプロセスの実行からこの実行構成を選択します。それ以外の場合は、以下の手順に従って実行構成を作成します。
実行構成の作成方法
プロファイルするものを選択する、新しいプロセスの実行で、
実行構成を追加するをクリックします。新規実行構成ウィザードで、アプリケーションタイプを選択し、アプリケーションオプションを指定します。
保存をクリックします。これにより、実行構成が作成および保存されます。次回このアプリケーションのプロファイルを作成する必要がある場合は、新しいプロセスの実行リストから作成した構成を選択します。
2. 他のプロファイリングオプションを構成する
- 割り当てデータを収集する
サンプル (デフォルト): 全部データと比較すると、サンプルデータは詳細が低くなります。スナップショットには、割り当てられたオブジェクトのおおよそのサイズに関するデータのみが含まれ、オブジェクト数に関するデータは含まれません。サンプリングモードの長所:
プロファイルされたアプリケーションの速度が低下することはありません。
プロファイラーをすでに実行中のアプリケーションに接続するときに使用できます。
全部 : dotMemory は完全なメモリ割り当てデータを収集します。これには、正しいオブジェクトサイズのデータとオブジェクト数のデータが含まれます。全部モードの短所:
プロファイルされたアプリケーションの速度が大幅に低下します。
プロファイラーがすでに実行中のアプリケーションに接続されている場合は使用できません。
重要: プロファイリングコントロールの割り当てデータ: サンプリング | 全部スイッチを使用して、プロファイリングセッション中にいつでもデータ収集モードを切り替えることができます。
- プロファイリングを制御する方法
手動(デフォルト): プロファイリングコントロールを使用してプロファイリングセッションを制御します。例: スナップショットを撮るには、スナップショットを取得するをクリックします。
API の使用 : プロファイルされたアプリケーションのコードから直接プロファイリングを制御します。例: コードの正確なポイントでスナップショットを取得するには、
MemoryProfiler.GetSnapshot()関数を呼び出します。API によるプロファイリングプロセスの制御での API の使用の詳細を参照してください。
3. (オプション) プロセスフィルターを構成する
プロファイルされたアプリケーションが多数のプロセスを作成する場合は、プロセスフィルター設定を使用して、プロファイルするプロセスを指定します。事前定義されたフィルターを選択するか、新しいフィルターを作成することができます。
プロセスフィルターは、選択した実行構成で指定されたアプリケーションタイプによって動作が異なることに注意してください。
アプリの種類 | 説明 |
|---|---|
dotMemory は、指定されたフィルターに一致するプロセスのみをプロファイルします。フィルターは、プロファイルされたプロセスのプロセスツリー全体(子プロセスを含む)に適用されます。 例: 多数の子プロセスを作成するマネージドプロセスがあります。メインプロセスだけでなく、名前に | |
このモードでは、プロファイリングセッションを開始しても、プロファイリングされたプロセスは開始されません。代わりに、dotMemory はオペレーティングシステムで最初に開始された管理対象プロセスを待機し、そのプロセスにアタッチします。特定のプロセスフィルターが選択されると、dotMemory はフィルターに一致する最初のプロセスにアタッチします。 例: インクルードフィルターを作成しました: | |
プロセスフィルターは適用されません。 |
プロセスフィルターを選択するには
プロファイルする方法を選択する、拡張オプションで、プロセスフィルターリストを開きます。
必要なフィルターを選択します。
dotMemory は、2 つの事前定義されたフィルターを提供します。
デフォルト : プロセスフィルターは適用されません。
プロセスツリー全体 : dotMemory は、子プロセスを含むプロセスツリー全体をプロファイリングします。.NET プロセス実行構成が選択されている場合、dotMemory は、システムで開始された最初の管理対象プロセス (そのすべての子プロセスを含む) に接続してプロファイリングします。

プロセスフィルターを作成するには
プロファイルする方法を選択する、拡張オプションで、プロセスフィルターリストを開きます。
フィルターの追加を選択します。
フィルター設定を指定します。
名前 : フィルター名。
プロセスツリー全体のプロファイル : 選択すると、dotMemory は子プロセスを含むプロセスツリー全体をプロファイルします。このオプションを無効にすることは、.NET プロセス実行構成のフィルターを作成する場合にのみ意味があります。この場合、dotMemory はフィルターに一致するシステム内の最初のプロセスを待機してアタッチしますが、このプロセスの子プロセスはプロファイルしません。
フィルターマスクを含める、フィルターマスクを除外する : それに応じてフィルターマスクを含めたり除外したりします。マスクは、次のルールに従って適用されます。
デフォルトのポリシーは「profileall」です。
インクルードマスクが最初に適用されます。除外マスクは、包含マスクによってフィルタリングされたプロセスに適用されます。
アスタリスク
*ワイルドカードを使用できます。
例:
MyServiceを除く名前にServiceが含まれるすべての子プロセスをプロファイリングするには、*Service*インクルードマスクとMyServiceエクスクルードマスクを追加します。
保存をクリックします。
関連ページ:
プロファイル実行プロセス
dotMemory をスタンドアロンアプリケーションとして実行する。dotMemory ホームウィンドウが開きます。プロファイルするものを選択する、実行中のプロセスで、プロファイルするプロセスを選択します。探しているプロセスが欠落している場合は、すべてのプロセスを表示するをクリックして、dotMemory の管理者権限を付与してください。作成した実行構成が新しいプロセスの実行リストで選択されていることを確認してください。プロファイルする方法を選択するで、プロファイリングオプションを指定します。割...
IIS サーバー上のプロファイル Web アプリケーション
通常、Web アプリケーションのパフォーマンスの問題を特定するには、アプリケーションがすでにサーバー上で実行されている必要があります。次の表は、アプリケーションのプロファイリングに可能なすべてのオプションをまとめたものです。ローカルプロファイリング簡単な設定 / 使用: dotMemory の GUI を介してプロファイルします、dotMemory をサーバーにインストールして実行する必要があります。これは、セキュリティ上の制限や GUI の不在などにより不可能な場合があります。コマンドラインプ...
プロファイリングセッションの制御
プロファイリングセッションを実行すると、dotMemory は新しい分析タブを開き、プロファイリングされたアプリケーションを起動します。プロファイリングプロセスを制御するには、ページの上部にある次のボタンを使用します。スナップショットを取得するプロセスのリストで選択されたプロセスのメモリスナップショットを取得します。スナップショットは、収集されたスナップショット領域に追加されます。スナップショットを取得してもプロファイリングプロセスは中断されないため、別のスナップショットを取得できます (たとえ...