インテル® VTune™ Amplifier 2018 ヘルプ

コールスタック全体のメトリックの分散

パフォーマンス解析結果を解釈する場合、グリッド内のオブジェクトを選択して、[Call Stack (コールスタック)] ペインのドロップダウン・メニューのパフォーマンス・メトリックを選択できます。

  • 選択したオブジェクトに関連するスタックを表示します。

  • 選択したオブジェクトのスタックごとに、選択するパフォーマンス・メトリックの配分を解析します。例えば、[CPU Time (CPU 時間)] メトリックが選択されると、選択した関数の実行に費やされた CPU 時間の合計に対する、選択したスタックの CPU 時間の割合がバーに表示されます。

[Timeline (タイムライン)] ペインでもオブジェクトを選択できます。この場合、[Call Stack] ペインには同じスタックを使用するすべてのオブジェクトのデータが表示されます。

解析設定に応じて次のメトリックが利用できます。

使用するメトリック

解析するもの

CPU Time (CPU 時間)

CPU がアクティブで、すべてのコア上でアプリケーションを実行している間の時間。

Overhead and Spin Time (オーバーヘッドとスピン時間)

オーバーヘッドとスピン時間。呼び出し位置のタイプがオーバーヘッドの CPU 時間 + 呼び出し位置のタイプが同期の CPU 時間として計算されます。

Wait Time (待機時間)

スレッドが別のスレッドからのシグナルを待機している時間の配分。例えば、別のスレッドが現在保持しているロックが必要なスレッドは、別のスレッドがそのロックを解放するのを待機します。

Wait Count (待機カウント)

対応するシステム待機 API が呼び出された回数の配分。

Spin Time (スピン時間)

CPU がビジー状態だった間の待機時間の配分。

Task Time (タスク)

タスクで消費された時間。

Context Switch Time (コンテキスト・スイッチ時間)

理由 (プリエンプションや同期) にかかわりなく、異なるコールスタック間でコンテキスト・スイッチが発生したことによりソフトウェア・スレッドがインアクティブであった時間の配分。

Context Switch Count (コンテキスト・スイッチ・カウント)

理由 (プリエンプションや同期) にかかわりなく、異なるコールスタック間で発生したコンテキスト・スイッチ量の配分。

Preemption Context Switch Count (プリエンプション・コンテキスト・スイッチ・カウント)

オペレーティング・システムのタスク・スケジューラーが、より優先度の高いほかのスレッドを実行するため、スレッドをプロセッサーから切り離したことによるコンテキスト・スイッチ量の配分。

Synchronization Context Switch Count (同期コンテキスト・スイッチ・カウント)

明示的なスレッド同期 API や I/O API 呼び出しにより、スレッドがスケジュール・オフされたことによるコンテキスト・スイッチ量の配分。

Inactive Time (非アクティブ時間)

プリエンプションによりスレッドが実行できなかった時間の配分。

Instructions Retired (リタイアした命令)Clockticks (クロックティック)LLC Miss (LLC ミス) などのイベントメトリック。

ハードウェア・イベントの配分。このメトリックを使用して、ターゲットで収集されたイベントの総数に、最も関連性のあるイベントとスタックを特定します。

Wait Time (Signal) (待機時間 (シグナル))

別のスレッドが待機しているロックを開放するシグナリング・スレッドのコールスタックの待機時間の配分。このメトリックを使用して、シグナリング・スレッドのアルゴリズムを最適化するため、長い待機が発生したシグナリング・スタックを特定します。

Wait Count (Signal) (待機カウント (シグナル))

別のスレッドが待機しているロックを開放するシグナリング・スレッドのコールスタックの待機カウントの配分。このメトリックを使用して、高い待機カウントをもたらすシグナリング・スタックを特定します。

Spin Time (Signal) (スピン時間 (シグナル))

別のスレッドが待機しているロックを開放するシグナリング・スレッドのコールスタックのスピン時間の配分。このメトリックを使用して、CPU がビジーの間長い待機が発生したシグナリング・スタックを特定します。

Wait Time (Sync Object Creation) (待機時間 (同期オブジェクト生成))

各種オブジェクトの生成による待機時間の配分。例えば、グリッドで現在選択されている行には、プログラムの異なる場所で作成された各種オブジェクトの待機操作を含む可能性があります。

Wait Count (Sync Object Creation) (待機カウント (同期オブジェクト生成))

各種オブジェクトの生成による待機カウントの配分。

Spin Time (Sync Object Creation) (スピン時間 (同期オブジェクト生成))

各種オブジェクトの生成によるスピン時間の配分。

Loads (Memory Allocation) (ロード (メモリー割り当て))

スタックに割り当てられたメモリー・オブジェクトのロード総数の配分。

選択されたスタックタイプが、選択されたプログラムユニットに適していない場合、インテル® VTune™ Amplifier は自動的にスタックタイプのリストから最初の適切なスタックタイプを適用します。

関連情報