注
この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含む、.NET の新しい実装には適用されません。
プロファイリングは、開発またはデプロイのシナリオでパフォーマンス データを収集する方法です。 このセクションは、アプリケーションのパフォーマンスに関する情報を収集する開発者とシステム管理者を対象としています。
パフォーマンス モニターを使用したパフォーマンスの追跡 (Perfmon.exe)
パフォーマンス モニターは、.NET Framework アプリケーションのプロファイリングに使用する最も簡単なツールです。 パフォーマンス モニターは、共通言語ランタイムと Windows SDK と共にインストールされている .NET Framework パフォーマンス カウンターにあるデータをグラフィカルに表します。 これらのカウンターを使用して、メモリ管理から Just-In-Time (JIT) コンパイラのパフォーマンスまですべてを監視できます。 アプリケーションが使用するリソースについて説明します。これは、アプリケーションのパフォーマンスの間接的な尺度です。 これらのカウンターを使用して、アプリケーションの内部的な動作を理解します。
Windows Vista 以降のバージョンで Perfmon.exe を実行するには
コマンド プロンプトで、「 perfmon」と入力します。 パフォーマンス モニター コンソールが表示されます。
[ 監視ツール ] フォルダーで、[ パフォーマンス モニター] をクリックします。
パフォーマンス モニターのツール バーで、 追加 アイコン (プラス記号) をクリックします (存在する場合)。 存在しない場合は、モニター ウィンドウで右クリックし、[ カウンターの追加] オプションを選択します。
[カウンターの 追加 ] ダイアログ ボックスが開きます。 [使用可能なカウンター] リスト ボックスに、使用可能なパフォーマンス オブジェクトが表示されます。 .NET Framework アプリケーションには、メモリ管理 (.NET CLR メモリ)、相互運用性 (.NET CLR 相互運用機能)、例外処理 (.NET CLR例外)、マルチスレッド (.NET CLR LocksAndThreads) など、多くの定義済みオブジェクトがあります。 各パフォーマンス オブジェクトには、多数の個別のパフォーマンス カウンターが含まれています。 パフォーマンス モニターで使用できるパフォーマンス カウンターの一覧については、「 パフォーマンス カウンター」を参照してください。
パフォーマンス オブジェクトの名前の横にあるチェック ボックスをオンにして、サポートされている個々のパフォーマンス カウンターの一覧を表示します。
表示するパフォーマンス カウンターをクリックします。
[選択したオブジェクトのインスタンス] ボックスで<すべてのインスタンス>をクリックして、共通言語ランタイムのパフォーマンス カウンターをグローバルに監視するように指定します (つまり、システム全体)。
-又は-
[選択したオブジェクトのインスタンス] リスト ボックスで、アプリケーション名をクリックして、そのアプリケーションのパフォーマンス カウンターを監視します。
複数のバージョンのランタイムを区別したり、同じ名前の複数のアプリケーションを区別したりするには、レジストリ キーも変更する必要があります。 詳細については、パフォーマンス カウンターと In-Process サイド-By-Side アプリケーションを参照してください。
注
パフォーマンス コンソールの実行中に新しいパフォーマンス カウンターがインストールされたら、パフォーマンス コンソールを停止して再起動して、新しいカウンターを表示します。
ゾーンまたはリモート共有に存在するアセンブリをプロファイリングする場合は、パフォーマンス カウンターを実行するコンピューターでリモート アセンブリが完全に信頼されていることを確認します。 アセンブリに十分な信頼がない場合、パフォーマンス カウンターは機能しません。 さまざまなゾーンに信頼を付与する方法については、「 Caspol.exe (コード アクセス セキュリティ ポリシー ツール)」を参照してください。
注
.NET Framework 4 がインストールされているシステムでは、.NET Framework 1.1 を使用して開発されたアプリケーションのパフォーマンス カウンター ( .NET CLR データ や .NET CLR ネットワークなど) のデータがパフォーマンス モニターに表示されない場合があります。 その場合は、 <forcePerformanceCounterUniqueSharedMemoryReads> 要素をアプリケーションの構成ファイルに追加することで、このデータを表示するようにパフォーマンス モニターを構成できます。
プログラムによるパフォーマンス カウンターの読み取りと作成
.NET Framework には、パフォーマンス コンソールで使用できるのと同じパフォーマンス情報にプログラムでアクセスするために使用できるクラスが用意されています。 これらのクラスを使用して、カスタム パフォーマンス カウンターを作成することもできます。 次の表では、.NET Framework で提供されるパフォーマンス監視クラスの一部について説明します。
クラス | 説明 |
---|---|
System.Diagnostics.PerformanceCounter | Windows パフォーマンス カウンター コンポーネントを表します。 このクラスを使用して、既存の定義済みカウンターまたはカスタム カウンターを読み取り、カスタム カウンターにパフォーマンス データを発行 (書き込み) します。 |
System.Diagnostics.PerformanceCounterCategory | コンピューター上のカウンターとカウンターのカテゴリを操作するためのいくつかのメソッドを提供します。 |
System.Diagnostics.PerformanceCounterInstaller |
PerformanceCounter コンポーネントのインストーラーを指定します。 |
System.Diagnostics.PerformanceCounterType |
NextValue に対するPerformanceCounter メソッドを計算するための数式を指定します。 |
こちらも参照ください
.NET