ランタイム プロファイリングRuntime Profiling

プロファイリングは、任意の開発シナリオまたは配置シナリオでパフォーマンス データを収集する方法の 1 つです。Profiling is a method of gathering performance data in any development or deployment scenario. このセクションは、アプリケーションのパフォーマンスに関する情報の収集を必要とする開発者およびシステム管理者を対象にしています。This section is for developers and system administrators who want to gather information about application performance.

パフォーマンス モニター (Perfmon.exe) を使用したパフォーマンスの追跡Tracking Performance Using the Performance Monitor (Perfmon.exe)

パフォーマンスモニターは、.NET Framework アプリケーションのプロファイリングに使用する最も簡単なツールです。The Performance Monitor is the easiest tool to use to profile your .NET Framework application. パフォーマンスモニターは、共通言語ランタイムおよび Windows SDK と共にインストールされた .NET Framework パフォーマンスカウンター内のデータをグラフィカルに表示します。The Performance Monitor graphically represents data found in the .NET Framework performance counters that are installed with the common language runtime and the Windows SDK. これらのカウンターを使用することにより、メモリ管理から Just-In-Time (JIT) コンパイラのパフォーマンスまで、あらゆる情報を監視できます。These counters can be used to monitor everything from memory management to just-in-time (JIT) compiler performance. .NET パフォーマンス カウンターは、アプリケーションが使用するリソースに関する情報を提供します。この情報は、アプリケーションのパフォーマンスを判断するための間接的な指標となります。They tell you about the resources your application uses, which is an indirect measure of your application's performance. これらのカウンターは、アプリケーション内部の動作状況を把握するために使用します。Use these counters to understand how your application works internally.

perfmon.exe を Windows Vista 以降のバージョンで実行するにはTo run Perfmon.exe on Windows Vista and later versions

  1. コマンド プロンプトで、「 perfmon」と入力します。At the command prompt, type perfmon. [パフォーマンス モニター] コンソールが表示されます。The Performance Monitor console appears.

  2. [監視ツール] フォルダーで、 [パフォーマンス モニター] をクリックします。In the Monitoring Tools folder, click Performance Monitor.

  3. パフォーマンス モニターのツールバーで、 [追加] アイコン (正符号) をクリックします (表示されている場合)。In the Performance Monitor toolbar, click the Add icon (the plus sign), if it is present. 表示されていない場合は、モニター ウィンドウで右クリックし、 [カウンターの追加] オプションを選択します。If it is not present, right-click in the monitor window and select the Add Counters option.

    [接続の追加] ダイアログ ボックスが表示されます。This opens the Add Counters dialog box. [使用可能なカウンター] リスト ボックスに、使用可能なパフォーマンス オブジェクトが表示されます。The Available counters list box displays the available performance objects. .NET Framework アプリケーション用には、さまざまな定義済みのオブジェクトがあります。これには、メモリ管理 ( .NET CLR メモリ)、相互運用性 ( .NET CLR の相互運用性)、例外処理 ( .NET CLR 例外)、およびマルチスレッド ( .NET CLR LocksAndThreads) が含まれます。There are a number of predefined objects for .NET Framework applications, including those for memory management (.NET CLR Memory), interoperability (.NET CLR Interop), exception handling (.NET CLR Exceptions), and multithreading (.NET CLR LocksAndThreads). 各パフォーマンス オブジェクトには、個々 のパフォーマンス カウンターが多数含まれています。Each performance object includes a number of individual performance counters. パフォーマンス モニターで使用可能なパフォーマンス カウンターの一覧は、「 Performance Countersと共にインストールされる .NET Framework パフォーマンス カウンター内のデータをグラフィカルに表示します。For a list of the performance counters available in Performance Monitor, see Performance Counters.

  4. パフォーマンス オブジェクトの名前の横にあるチェック ボックスをオンにすると、サポートされている個々のパフォーマンス カウンターの一覧が表示されます。Select the check box next to a performance object's name to view the list of individual performance counters that it supports.

  5. 表示するパフォーマンス カウンターをクリックします。Click the performance counter you want to view.

  6. [選択したオブジェクトのインスタンス] リスト ボックスで、 [<すべてのインスタンス>] をクリックして、共通言語ランタイムのパフォーマンス カウンターをグローバルに (つまり、システム全体で) 監視するように指定します。In the Instances of selected object list box, click <All instances> to specify that you want to monitor the performance counter for the common language runtime globally (that is, on a system-wide basis).

    - または --or-

    [選択したオブジェクトのインスタンス] リスト ボックスで、アプリケーション名をクリックして、そのアプリケーションのパフォーマンス カウンターを監視します。In the Instances of selected object list box, click an application name to monitor the performance counter for that application.

    複数のバージョンのランタイムを区別する必要がある場合、または同じ名前を持つ複数のアプリケーション間のあいまいさを解消する必要がある場合は、レジストリ キーも変更する必要があります。To differentiate multiple versions of the runtime, or to disambiguate multiple applications with the same name, you must also modify a registry key. 詳細については、「 パフォーマンス カウンターとインプロセス side-by-side アプリケーション」を参照してください。For more information, see Performance Counters and In-Process Side-By-Side Applications.

注意

パフォーマンス コンソールの実行中に新しいパフォーマンス カウンターがインストールされた場合は、新しいカウンターが表示されるように、パフォーマンス コンソールを停止して再起動してください。When new performance counters are installed while the Performance console is running, stop and restart the Performance console to make the new counters visible.

特定のゾーンまたはリモート共有に存在するアセンブリをプロファイリングする場合は、リモート アセンブリがパフォーマンス カウンターを実行するコンピューターに対して完全な信頼関係を持っていることを確認してください。If you want to profile an assembly that exists in a zone or on a remote share, make sure that the remote assembly has full trust on the computer that runs the performance counters. アセンブリが十分な信頼関係を持っていない場合、パフォーマンス カウンターは機能しません。If the assembly does not have sufficient trust, the performance counters will not work. さまざまなゾーンへの信頼の付与については、「Caspol.exe (コード アクセス セキュリティ ポリシー ツール)」を参照してください。For information about granting trust to different zones, see Caspol.exe (Code Access Security Policy Tool).

注意

.NET Framework 4 がインストールされているシステムでは、.net を使用して開発されたアプリケーションのパフォーマンスカウンターのデータが、 .NET Clr データ.net clr ネットワークなどの一部のカテゴリに表示されない場合があります。フレームワーク1.1。On systems on which the .NET Framework 4 is installed, the Performance Monitor may not display data for performance counters in some categories, such as .NET CLR Data and .NET CLR Networking, for applications that were developed using the .NET Framework 1.1. このような場合、<forcePerformanceCounterUniqueSharedMemoryReads> 要素をアプリケーションの構成ファイルに追加することで、このデータを表示するようにパフォーマンス モニターを構成できます。If this is the case, you can configure Performance Monitor to display this data by adding the <forcePerformanceCounterUniqueSharedMemoryReads> element to the application's configuration file.

プログラムを使用したパフォーマンス カウンターの読み取りと作成Reading and Creating Performance Counters Programmatically

.NET Framework には、パフォーマンスコンソールで使用できるのと同じパフォーマンス情報にプログラムでアクセスするために使用できるクラスが用意されています。The .NET Framework provides classes you can use to programmatically access the same performance information that is available in the Performance console. また、これらのクラスを使用すると、カスタム パフォーマンス カウンターを作成できます。You can also use these classes to create custom performance counters. 次の表では、.NET Framework に用意されているパフォーマンス監視クラスの一部について説明します。The following table describes some of the performance monitoring classes that are provided in the .NET Framework.

クラスClass 説明Description
System.Diagnostics.PerformanceCounter Windows NT パフォーマンス カウンター コンポーネントを表します。Represents a Windows NT performance counter component. 既存の定義済みカウンターやカスタム カウンターを読み取ったり、カスタム カウンターにパフォーマンス データを書き込むには、このクラスを使用します。Use this class to read existing predefined or custom counters and publish (write) performance data to custom counters.
System.Diagnostics.PerformanceCounterCategory コンピューター上のカウンターおよびカウンター カテゴリと対話するためのいくつかのメソッドを提供します。Provides several methods for interacting with counters and categories of counters on the computer.
System.Diagnostics.PerformanceCounterInstaller PerformanceCounter コンポーネントのインストーラーを指定します。Specifies an installer for the PerformanceCounter component.
System.Diagnostics.PerformanceCounterType NextValuePerformanceCounterメソッドを計算する数式を指定します。Specifies the formula to calculate the NextValue method for a PerformanceCounter.

関連項目See also