コア ビューには、スレッドの実行が論理プロセッサ コアにマップされた方法が表示されます ([分析>コンカレンシー ビジュアライザーを開始するコンカレンシー ビジュアライザーを選択します)。 サーバー アプリケーションを作成している場合、このビューは、スレッド アフィニティまたはスレッド プール管理を使用してキャッシュのパフォーマンスを最適化するのに役立ちます。 また、スレッド アフィニティの使用によってコア間移行の問題が悪化した可能性があるケースを調べるのにも役立ちます。 コア ビューには、グラフと凡例の 2 つの部分があります。
グラフには、y 軸の論理コアと x 軸の時間が表示されます。 グラフ内のすべてのスレッドは一意の色を持っているので、時間の経過に伴うコア間の動きを追跡できます。 凡例領域でスレッドを選択することで、このグラフのスレッドをフィルター処理できます。
凡例領域には、グラフ内の各色のエントリがあります。 各エントリには、スレッドの色と名前、クロスコア コンテキスト スイッチの数、コンテキスト スイッチの合計数、およびコア間のコンテキスト スイッチの割合が表示されます。 凡例は、クロスコア コンテキスト スイッチの数で降順にソートされています。 表示された時間範囲の間に実行されたスレッドのみが一覧表示されます。 ズームまたはパンすると、リストが更新されます。
コアビューの凡例
コア ビューの凡例では、色と名前によって各スレッドが識別されます。 これには、クロスコア コンテキスト スイッチの数、合計コンテキスト スイッチ、およびコア間のコンテキスト スイッチの割合を示す列が含まれます。 凡例内の行は、クロスコア コンテキスト スイッチの数で降順に並べ替えられます。
凡例の行を選択して、タイムラインに表示されるスレッドをフィルター処理できます。 タイムラインには、選択したスレッドのみが表示されます。 行が選択されていない場合、すべての行がタイムラインに表示されます。
クロスコア コンテキスト スイッチは、同じ論理コアに残っているスイッチよりもオーバーヘッドとパフォーマンスのコストが高くなります。 コンテキスト スイッチ中に、プロセッサ レジスタが保存および復元され、オペレーティング システムのカーネル コードが実行され、変換ルックアサイド バッファー エントリが再読み込みされ、プロセッサ パイプラインがフラッシュされます。 クロスコア コンテキスト スイッチは、キャッシュ データが別のコア上のこのスレッドに対して有効ではないため、他のコンテキスト スイッチよりもさらにコストが高くなる可能性があります。 これに対し、スレッドが以前に実行されたコアにコンテキスト切り替えられる場合は、有用なデータがまだキャッシュ内にある可能性があります。 スレッド アフィニティを管理しようとしてクロスコア コンテキスト スイッチが増加し、パフォーマンスが低下した場合は、この問題に対処するかどうかを検討してください。 まずスレッド アフィニティを排除し、結果として得られるクロスコア動作を確認します。
次の表では、凡例要素について説明します。
| 要素 | Definition |
|---|---|
| スレッド名 | 前のコア タイムラインのスレッドの色と、そのスレッドの名前を表示します。 |
| クロスコア・コンテキスト・スイッチング | 1 つの論理コアから別の論理コアに切り替えたスレッドのコンテキスト 切り替えの数。 1 つのプロセッサ ダイから別のプロセッサ ダイに渡るクロスコア コンテキスト スイッチと、同じダイ上に留まるクロスコア コンテキスト スイッチは区別されません。 |
| コンテキスト スイッチの合計数 | サンプリング期間中の特定のスレッドのコンテキスト スイッチの合計数。 スレッドがコンテキストを変更するたびに (たとえば、実行から同期まで)、1 つのコンテキスト スイッチがカウントされます。 |
| コア間のコンテキスト スイッチの割合 | クロスコア コンテキスト スイッチの数をコンテキスト スイッチの合計数で割ることによって、パーセンテージとして計算されます。 この割合が高いほど、この特定のスレッドのパフォーマンスに対するクロスコア コンテキスト スイッチのオーバーヘッドの全体的な影響が大きくなります。 |
コアビュータイムライン
タイムライン内のすべての行は、プロファイリングされたシステム上の論理プロセッサ コアを表します。 各行の横軸には、特定の時点で論理コアで実行されていたスレッドが表示されます。 タイムライン内の関心のある色にカーソルを合わせると、スレッドを識別するヒントが返されます。 スレッドの識別に役立つよう、ウィンドウの下部にある凡例には、各色が表す内容が表示されます。 ズーム ツールを使用して、クリックしてドラッグするか、Ctrl キーを押しながらマウス ホイールを動かして、拡大/縮小します。 ズームの一貫性は、コア ビューとスレッド ビューを切り替えると維持されます。
コア 論理コアの表示
各チャネル名は、プロファイリングされたシステムに存在する論理コアの 1 つを表します。 名前付けは、0 から論理コアの合計数までカウントされます。 たとえば、4 コア システムは論理コア 0 から論理コア 3 にカウントされます。
コア ビュー ズーム ツール
ズーム コントロールは、特定の関心領域にフォーカスを合わせることができるように、タイムラインを拡大または縮小できるスライダーです。 このコントロールは現在のビューの中心を拡大するため、拡大する前にビューを調整します。
ズームするその他の方法
拡大: ドラッグしてタイムライン ビュー内の領域を選択します。 マウス ボタンを離すと、タイムライン ビューが選択した範囲で拡大表示されます。
拡大/縮小: タイムラインにカーソルを合わせ、 Ctrl キー を押しながらマウス ホイールを移動します。