CPU カウンターと Windows カウンターCPU and Windows counters

Visual Studio プロファイラーでは、オペレーティング システムによって生成されたパフォーマンス データ (Windows カウンター) とプロセッサ ユニットによって生成されたパフォーマンス データ (CPU カウンター) を収集することができます。The Visual Studio Profiler enables you to collect performance data that was generated by the operating system (Windows counters) and performance data that was generated by the processor unit (CPU counters).

注意

Windows 8 および Windows Server 2012 の強化されたセキュリティ機能によって、Visual Studio プロファイラーがこれらのプラットフォームでデータを収集する方法に大幅な変更が必要になりました。Enhanced security features in Windows 8 and Windows Server 2012 required significant changes in the way the Visual Studio profiler collects data on these platforms. UWP アプリにも新しい収集手法が必要です。UWP apps also require new collection techniques. Windows 8 および Windows Server 2012 アプリケーションのパフォーマンス ツール」を参照してください。See Performance Tools on Windows 8 and Windows Server 2012 applications.

Windows カウンターWindows counters

Windows カウンターは、オペレーティング システムまたはアプリケーション、サービス、ドライバーのパフォーマンスに関する情報を提供する Windows 診断インフラストラクチャの一部です。Windows counters are part of the Windows diagnostic infrastructure that provides information about the performance of the operating system or an application, a service, or a driver. Windows カウンターは、現在のコンピューターの構成に依存しており、他のコンピューターでは使用できない場合があります。Windows counters depend on the configuration of the current computer and might not be available on other computers. Windows パフォーマンス カウンターは、プロファイル マークとしてプロファイル データ ファイルに収集され、ビューおよびレポートのフィルター処理に使用できます。Windows performance counters are collected in profiling data files as profiling marks, which can then be used to filter views and reports.

CPU カウンターCPU counters

CPU カウンターは、ハードウェア関連のイベントの数を格納するコンピューターの CPU の機能です。CPU counters are a feature of the computer's CPU that store the count of hardware-related events. インストルメンテーション プロファイル メソッドを使用して CPU カウンター データを収集したデータは、関数およびモジュールのデータの後に追加されます。When you collect CPU counter data by using the instrumentation profiling method, the data is appended to the data for functions and modules. インストルメンテーション メソッドを使用して複数の CPU カウンターを収集できます。You can collect multiple CPU counters using the instrumentation method. サンプリング メソッドを使用するときは、サンプリングされるイベントとして使用する 1 つのカウンターを選択します。When you use the sampling method, you select one counter to use as the event to be sampled.

パフォーマンス カウンターは CPU 固有です。Performance counters are CPU-specific. CPU のモデルとバージョンが異なると、同じパフォーマンス カウンターを有効にする場合でも構成設定が大幅に異なることがあります。Different models and versions of a CPU can have significantly different configuration settings to enable the same performance counter. Visual Studio 2012Visual Studio 2012 プロファイラーのポータブル イベントは、特定のプロセッサからよく使われる一部のパフォーマンス カウンターを分離し、汎用のパフォーマンス イベントを収集またはサンプリングできるようにします。 Profiler portable events decouple some common performance counters from specific processors and enable you to collect or sample generic performance events.

プロファイラーを使用するときに特定のイベント (たとえば、L2 キャッシュ ミス) をカウントしたい場合は、そのイベント送信元にパフォーマンス セッションを作成できます。If you want to count a particular event when you use the profiler, for example, L2 cache misses, you can build a performance session around that event sender. L2 キャッシュのある任意の CPU でこれを行うことができます。You can do this on any CPU with an L2 cache. パフォーマンス セッションは、変更することなく異なるプラットフォームに移動できます。The performance session can be moved from platform to platform without modification.

Visual Studio プロファイラーは、特定のプラットフォームの特定のイベントを継続してサポートします。The Visual Studio profiler continues to support particular events for a specific platform. たとえば、Pentium 4 プラットフォームの開発者が NetBurst アーキテクチャに固有のイベントをカウントしたいものとします。For example, a developer on a Pentium 4 platform might want to count events that are specific to the NetBurst architecture. このイベントは移植可能ではありませんが、それでも特定のプラットフォームの特定のパフォーマンス セッションに対して使用できます。This event is not portable, but still available to the developer for a specific performance session on a specific platform.

ポータブル イベントとプラットフォーム イベントPortable and platform events

ポータブル イベントとは、特定のプロセッサに固有ではない CPU カウンターのグループです。Portable events are a group of CPU counters that are not specific to a specific processor. 他のすべての CPU カウンターはプラットフォーム イベントと呼ばれ、さまざまなプラットフォームでサポートされていない可能性があります。All other CPU counters are called platform events, and might not be supported on various platforms.

ポータブル イベントとプラットフォーム イベント両方のカウンターは .xml ファイルで定義されており、カウンターに関連する特定の値が提供されます。Counters for both portable and platform events are defined in .xml files, where specific values that are related to the counters are provided. たとえば Intel と AMD の CPU ではデータが異なるので、異なる CPU ごとに複数のファイルがあります。There are multiple files for different CPUs, because data for Intel and AMD CPUs, for example, are different. Visual Studio 2008Visual Studio 2008 プロファイラーは、この情報を使用して、ポータブルとプラットフォーム両方の適切なカウンターを、パフォーマンス測定用にユーザーに提示します。The Visual Studio 2008Visual Studio 2008 Profiler uses this information to present appropriate counters, both portable and platform, to the user for performance measurement.

Portable EventsPortable events

ポータブル イベントには次のイベントが含まれます。Portable events contain the following events:

一般イベントGeneral Events

イベント名Event Name イベントの説明Event Description
Instructions RetiredInstructions Retired イベントが完了するまで実行された命令の数を示します。Indicates the number of instructions that executed until the event is completed.
Non Halted CyclesNon Halted Cycles たとえば I/O の待機などでプロセッサが停止されなかったサイクルのみを示します。Indicates only those cycles in which the processor is not stopped, for example, waiting for I/O.

フロント エンド イベントFront End Events

イベント名Event Name イベントの説明Event Description
ITLB MissesITLB Misses ミスになった Instruction Translation Look-aside Buffer 参照の数を示します。Indicates the number of Instruction Translation Look-aside Buffer lookups that resulted in a miss.

分岐イベントBranch Events

イベント名Event Name イベントの説明Event Description
Branches RetiredBranches Retired イベントが完了するまで実行された分岐命令の数を示します。Indicates the number of branch instructions executed until the event is completed.
Mis-predicted BranchesMis-predicted Branches プロセッサが正しくないパスを予測したために発生した誤予測分岐を示します。Indicates mis-predicted branches that occur because the processor predicted an incorrect path. 誤予測分岐は、プロセッサが実行されたすべての処理を破棄して正しいパスで再度開始する必要があるため、パフォーマンスに影響します。Mis-predicted branches affect performance because the processor must discard all the work done and start again on a correct path.

メモリ イベント:Memory Events:

イベント名Event Name イベントの説明Event Description
L2 Cache Read MissesL2 Cache Read Misses 第 2 レベルのキャッシュ読み取りミスの数を示します。Indicates the number of second level cache read misses.
L2 Cache Read ReferencesL2 Cache Read References 第 2 レベルのキャッシュ読み取り参照の数を示します。Indicates the number of second level cache read references. 読み込みミスおよび RFO (read for ownership) のミスとヒットを含みます。It includes load misses and read for ownership (RFO) misses and hits.

使用可能なカウンターの表示View available counters

Visual Studio IDE またはコマンド プロンプト ウィンドウで、使用可能な CPU カウンターを一覧表示できます。You can list the available CPU counters in the Visual Studio IDE on in a Command Prompt window.

Visual Studio UIVisual Studio UI

Visual Studio IDE でコンピューターの使用可能なカウンターを一覧表示するには、パフォーマンス エクスプローラーでプロファイラー パフォーマンス セッションを開いておく必要があります。To list the available counters on a computer in the Visual Studio IDE, you must have a profiler performance session open in Performance Explorer.

現在のプラットフォームでサポートされているすべての CPU カウンターの一覧を表示するにはTo view a list of a list of all CPU counters that are supported on the current platform

  1. パフォーマンス エクスプローラーで、パフォーマンス セッションを右クリックして、[プロパティ] をクリックします。In Performance Explorer, right-click the performance session and then click Properties.

  2. 次のいずれかの操作を行います。Do one of the following:

    • [サンプリング] をクリックし、[サンプル] イベントの一覧から [パフォーマンス カウンター] を選びます。Click Sampling, and then select Performance counter from the Sample event list. [使用可能なパフォーマンス カウンター] に CPU カウンターが一覧表示されます。The CPU counters are listed in Available performance counters.

      前のサンプリング構成に戻るには、[キャンセル] をクリックします。Note Click Cancel to return to the previous sampling configuration.

      - または --or-

    • [CPU カウンター] を選び、[CPU カウンターの収集] を選びます。Select CPU Counters, and then select Collect CPU Counters. [使用可能なカウンター] に CPU カウンターが一覧表示されます。The CPU counters are listed in Available counters.

      前のカウンター収集構成に戻るには、[キャンセル] をクリックします。Note Click Cancel to return to the previous counter collection configuration.

現在のプラットフォームでサポートされている Windows カウンターの一覧を表示するにはTo view a list of a list of Window counters that are supported on the current platform

  1. パフォーマンス エクスプローラーで、パフォーマンス セッションを右クリックして、[プロパティ] をクリックします。In Performance Explorer, right-click the performance session and then click Properties.

  2. [Windows カウンター] をクリックします。Click Windows Counters.

  3. [Windows カウンターの収集] を選びます。Select Collect Windows Counters.

  4. [カウンター カテゴリ] の一覧で、カウンター グループを選びます。From the Counter Category list, select a counter group. グループの Windows カウンターが、リスト ボックスに表示されます。The Windows counter for the group is displayed in the list box.

    注: 前のカウンター収集構成に戻るには、[キャンセル] をクリックします。Note: Click Cancel to return to the previous counter collection configuration.

コマンド ラインCommand line

VSPerfCmd コマンド ライン ツールを使って、コンピューターで使用可能な CPU カウンターを一覧表示できます。Using the VSPerfCmd command line tool, you can list the CPU counters that are available on a computer from the command line.

現在のプラットフォームでサポートされている CPU カウンターの一覧を表示するにはTo list of CPU counters that are supported on the current platform

  1. コマンド プロンプト ウィンドウを開きます。Open a command prompt window.

  2. Type

    <Visual Studio パフォーマンス ツール ディレクトリ>\VSPerfCmd /querycounters」と入力します。<Visual Studio Performance Tools Directory>\VSPerfCmd /querycounters

    ここで、<Visual Studio パフォーマンス ツール ディレクトリ> は Visual Studio インストールのパフォーマンス ツール ディレクトリへのパスであり、通常はwhere <Visual Studio Performance Tools Directory> is the path to the Performance Tools directory of your Visual Studio installation, usually

    C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance ToolsC:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools

関連項目See also

概要Overviews
方法 : サンプリング イベントを選択するHow to: Choose sampling events
方法 : CPU カウンター データを収集するHow to: Collect CPU counter data
方法: Windows カウンター データを収集するHow to: Collect Windows counter data