ユーザーモード・サンプリング/トレース収集

同カテゴリーの次の記事

セルフ時間と合計時間

この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「User-Mode Sampling and Tracing Collection」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS 環境でも十分ご利用いただけます。また、構成は英語版のヘルプと同じ階層構造にしてあります。


アプリケーション実行のプロファイリング時に、インテル® VTune™ Amplifier は、アプリケーションによるプロセッサーの利用状況を調べます。ある時点で、実行中 (ただし、ブロック中ではないもの) または実行可能なスレッドはアクティブであると見なされます。ある時点の実行中のスレッド数から、アプリケーションの並列化レベルとプロセッサー・リソースの利用状況が分かります。インテル® VTune™ Amplifier は利用率を Idle (アイドル)、Poor (乏しい)、Ok (適切)、および Ideal (理想的) に分類します。

ユーザーモード・サンプリングとトレースコレクターは、プロセスに割り込みをかけ、すべてのアクティブな命令アドレスのサンプルを収集し、各サンプルで呼び出しシーケンスを記録します。サンプリングされた命令ポインター (IP) と呼び出しシーケンス (スタック) はデータ収集ファイルに保存されます。そして、統計的に収集された IP サンプルと呼び出しシーケンスを基に、ビューアーにコールグラフや最も時間のかかるパスが表示されます。このデータは、統計的に重要なコード領域の制御フローを理解するのに役立ちます。

ユーザーモード・サンプリング/トレースコレクターのオーバーヘッドの平均は、デフォルトのサンプリング間隔 10ms で 5% です。

インテル® VTune™ Amplifier は、ハードウェア・イベントベース・サンプリング・コレクターを使用して、次の解析タイプのデータを収集します。

ユーザーモード・サンプリング/トレース収集に基づくカスタム解析タイプを作成 (英語) することもできます。

スタックデータの収集

データ収集時に、インテル® VTune™ Amplifier は、設定されたサンプリング間隔につきスタックを 1 つだけ解析します。つまり、スレッド実行中に 10 ミリ秒ごと (デフォルトのサンプリング間隔の場合) にスタックを巻き戻します。ただし、パフォーマンス上の理由から、スタックの巻き戻しがスキップ/エミュレートされることがあります。ファイナライズ中に収集したデータを処理する際に、インテル® VTune™ Amplifier はスタックのないイベントでは、履歴から一致するスタックを検出しようとします。

このアプローチにより、スタックの巻き戻しオーバーヘッドは減りますが、誤った一致によりスタック情報が不正確になることがあります。その場合、[Bottom-up (ボトムアップ)]/[Top-down Tree (トップダウン・ツリー)] ペインに、[Guessed frame(s) (推測されたフレーム)] と [Skipped frame(s) (スキップされたフレーム)] という擬似ノードが表示されます。これらの問題の解決方法は、「トラブルシューティング」 (英語) を参照してください。

また、スタックの巻き戻しでシステムやアプリケーション・モジュールのシンボルファイルが見つからない場合は、[Unknown frame(s) (不明なフレーム)] というノードが表示されます。詳細は、「不明なフレームの解決」 (英語) を参照してください。

上位トピック: 主要な概念

関連項目

パフォーマンス解析の設定
スタックとハードウェア・イベントベース・サンプリング収集
ハードウェア・イベントベース・サンプリング収集

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • ハードウェア・イベントベース・サンプリング収集ハードウェア・イベントベース・サンプリング収集 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Hardware Event-based Sampling Collection」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • セルフ時間と合計時間セルフ時間と合計時間 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Self Time and Total Time」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • 解析結果の表示 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Viewing Analysis Results」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • FreeBSD* サポートFreeBSD* サポート この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「FreeBSD* Support」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • OS スレッドの移行OS スレッドの移行 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「OS Thread Migration」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]