コア ビュー

コア ビュー には、スレッド実行が論理プロセッサのコアにどのようにマッピングされたかを示します ([分析]>[コンカレンシー ビジュアライザー] を選択して、コンカレンシー ビジュアライザーを開始します)。 サーバー アプリケーションを開発している場合、このビューは、スレッド アフィニティまたはスレッド プール管理を使ってキャッシュのパフォーマンスを最適化するのに役立ちます。 また、スレッド アフィニティを使うことでコア間の移行の問題が悪化した可能性がある場合の調査にも役立ちます。 コア ビューには、グラフと凡例の 2 つの部分があります。

グラフでは、Y 軸に論理コア、X 軸に時間が表示されます。 グラフではすべてのスレッドに固有の色が使われていて、時間経過を追ってコア間のスレッドの移動を追跡できます。 凡例領域でスレッドを選ぶことにより、このグラフ上のスレッドをフィルター処理できます。

凡例領域には、グラフの各色に対するエントリがあります。 各エントリには、スレッドの色と名前、クロスコア コンテキスト スイッチの数、コンテキスト スイッチの総数、およびクロスコア コンテキスト スイッチの割合が示されます。 凡例は、クロスコア コンテキスト スイッチの数が多い順に並べられています。 表示されている時間範囲中に実行されたスレッドのみが一覧表示されます。 ズームまたはパンすると、リストが更新されます。

コア ビューの凡例

コア ビューの凡例では、各スレッドが色と名前で示されます。 クロスコアのコンテキスト スイッチの回数、コンテキスト スイッチの合計回数、クロスコアのコンテキスト スイッチの割合を示す列が含まれます。 凡例の行は、クロスコアのコンテキスト スイッチの回数が多い順に並べられています。

凡例で行を選んで、タイムラインに表示されるスレッドをフィルター処理できます。 選んだスレッドのみがタイムラインに表示されます。 行を選ばないと、すべての行がタイムラインに表示されます。

同じ論理コア内でのコンテキスト スイッチより、クロスコアのコンテキスト スイッチの方が、オーバーヘッドとパフォーマンスのコストが大きくなります。 コンテキスト スイッチでは、プロセッサのレジスタが保存されて復元され、オペレーティング システムのカーネル コードが実行され、変換ルックアサイド バッファーのエントリが再度読み込まれて、プロセッサのパイプラインがフラッシュされます。 クロスコアのコンテキスト スイッチでは、キャッシュ データが別のコア上のこのスレッドに対して無効なため、他のコンテキスト スイッチよりさらに負荷が大きくなります。 これに対し、同じコア上でのコンテキスト スイッチの場合は、有効なデータがまだキャッシュに存在する可能性があります。 スレッド アフィニティを管理しようとしてクロスコアのコンテキスト スイッチが増加し、パフォーマンスが低下する場合は、この問題に対処するかどうかを検討してください。 最初にスレッド アフィニティを除去して、クロスコアの動作を確認します。

次の表では凡例の要素について説明します。

要素 定義
スレッド名 前のコア タイムラインでのスレッドの色と、そのスレッドの名前が示されます。
クロス コアのコンテキスト スイッチ 異なる論理コア間で行われた、スレッドのコンテキスト スイッチの回数。 異なるプロセッサ ダイ間のクロスコア コンテキスト スイッチと、同じダイ上でのスイッチは、区別されません。
合計コンテキスト スイッチ数 サンプリング期間中に特定のスレッドでのコンテキスト スイッチの合計回数。 スレッドのコンテキストが変わるたびに (たとえば、実行から同期に)、コンテキスト スイッチが 1 回カウントされます。
クロス コアのコンテキスト スイッチの割合 クロスコア コンテキスト スイッチの回数をコンテキスト スイッチの合計回数で割った割合として計算されます。 この割合が高いほど、この特定のスレッドのパフォーマンスに対するクロスコア コンテキスト スイッチのオーバーヘッドの全体的な影響が大きくなります。

コア ビューのタイムライン

タイムラインの各行は、プロファイリング対象システムの論理プロセッサ コアを表します。 各行の、水平軸は特定の時点で論理コアで実行されたスレッドを示します。 タイムラインで興味のある色の上にマウス ポインターを合わせると、スレッドを特定するヒントが返されます。 ウィンドウの下部の凡例で、各色の意味がわかります。スレッドの特定に役立ちます。 ズーム ツールで拡大縮小できます。クリックしたままドラッグするか、CTRL を押しながらマウス ホイールを動かします。 コア ビューとスレッド ビューを切り替えるとき、ズームの一貫性が維持されます。

コア ビューの論理コア

各チャンネル名は、プロファイリング対象システムに存在するいずれかの論理コアを表します。 名前付けのカウントは、0 から論理コアの合計数までです。 たとえば、4 コア システムの場合、論理コア 0 から論理コア 3 までカウントされます。

コア ビューのズーム ツール

ズーム コントロールは、タイムラインの表示を拡大縮小できるスライダーです。このコントロールを使用して、興味のある領域を集中的に見ることができます。 このコントロールは現在のビューの中心でズームします。そのため、拡大する前にビューを調整してください。

その他のズーム方法

  • 拡大: ドラッグでタイムライン ビュー内の領域を選択します。 マウス ボタンを離すと、タイムライン ビューの選択した範囲が拡大されます。

  • 拡大と縮小: タイムラインの上にマウス ポインターを置き、Ctrl キーを押しながらマウス ホイールを動かします。