指定した解析タイプを実行して結果データを収集します。
[解析の設定] ウィンドウ > [どのように] ペイン
-collect <analysis_type> |
-c <analysis_type> |
analysis_type |
パフォーマンス解析のタイプ。次の解析タイプと設定可能な knob がサポートされます。 |
ループ反復など、頻繁に繰り返されるコードのインターバルでパフォーマンスの異常を特定するのに役立ちます。マイクロ秒単位で詳細な解析を実行します。
収集タイプ: ユーザーモード・サンプリングとトレース収集、またはハードウェア・イベントベース・サンプリングを行います。 |
|
収集モードを指定して最も時間を要するソースコードを特定します:
収集タイプ: ユーザーモード・サンプリングとトレース収集、またはハードウェア・イベントベース・サンプリングを行います。 knob: enable-characterization-insights、enable-stack-collection、sampling-interval、sampling-mode。 |
|
アプリケーションが利用可能な論理 CPU コアをどのように使用しているかを解析し、同期オーバーヘッドを含む並列処理を見つけ、待機がアプリケーションのパフォーマンスに与える影響を調べて並列化の候補を特定します。 収集タイプ: ユーザーモード・サンプリングとトレース収集。 knob: sampling-interval。 |
|
個別のメモリー・オブジェクトとそれらの割り当てスタックを含む、Linux* アプリケーションのメモリー消費を解析します。 収集タイプ: ユーザーモード・サンプリングとトレース収集。 knob: mem-object-size-min-thres。 |
|
計算集約型またはスループットに依存するアプリケーションの CPU、メモリー、および FPU 利用率を最適化する可能性を特定するのに役立ちます。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: enable-stack-collection、collect-memory-bandwidth、sampling-interval、dram-bandwidth-limits。 |
|
uarch-exploration (以前は general-exploration と呼ばれていました) |
アプリケーションのパフォーマンスに影響する最も顕著なハードウェアの問題を特定して、その場所を見つけます。この解析タイプは、マイクロアーキテクチャー解析の出発点として使用されます。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: enable-stack-collection、collect-memory-bandwidth、enable-user-tasks。 |
メモリーアクセスに関連する問題 (例えば、NUMA アーキテクチャー固有) を特定する一連のメトリックを測定します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: sampling-interval、dram-bandwidth-limits、analyze-openmp。(Linux* のみ) analyze-mem-objects、mem-object-size-min-thres。 |
|
sgx-hotspots (廃止予定) |
インテル® ソフトウェア・ガード・エクステンション (インテル® SGX) 機能が有効にされたシステムで、セキュリティー保護された内部のホットスポットを解析します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: enable-stack-collection、enable-user-tasks。 |
tsx-exploration (廃止予定) |
インテル® トランザクショナル・シンクロナイゼーション・エクステンション (インテル® TSX) の使用を解析します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: enable-user-tasks、analysis-step。 |
tsx-hotspots (廃止予定) |
トランザクション内部のホットスポットを解析します。 knob: enable-user-tasks、enable-stack-collection。 |
cpugpu-concurrency (廃止予定) |
CPU/GPU 並行性解析を有効にし、システム上の各種 CPU と GPU コア上のコード実行を調査し、CPU と GPU のアクティビティーを関連付けて、アプリケーションが GPU 依存か CPU 依存か特定します。 knob: sampling-interval、enable-user-tasks、enable-user-sync、enable-gpu-usage、gpu-counters-mode、enable-gpu-runtimes。 |
髙い GPU 利用率の GPU タスクを特定し、この利用率の効率を予測します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: gpu-sampling-interval、enable-gpu-usage、gpu-counters-mode、enable-gpu-runtimes、enable-stack-collection。 |
|
gpu-profiling (廃止予定) |
コード行ごとの GPU カーネル実行を解析し、メモリー・レイテンシーや非効率なカーネルのアルゴリズムによるパフォーマンスの問題を特定します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: gpu-profiling-mode、kernels-to-profile。 |
graphics-rendering (プレビュー) |
Xen* 仮想化プラットフォームで実行されるコードの CPU/GPU 利用率を解析します。GPU エンジンごとの GPU 使用量と GPU ハードウェア・メトリックを調査することで、パフォーマンスの向上が可能な場所を理解するのに役立ちます。可能であれば、この解析は OpenGL* ES API 呼び出しを検出してタイムラインに表示します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: gpu-sampling-interval、gpu-counters-mode。 |
FPGA 上で実行されている OpenCL* カーネルを調査して、CPU/FPGA 相互作用の問題を解析し、最も時間がかかる FPGA カーネルを特定します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: sampling-interval、enable-stack-collection。 |
|
I/O サブシステム、CPU およびプロセッサー・バスの利用率を監視します。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 Knobs: collect-pcie-bandwidth、mmio、iommu、collect-memory-bandwidth、dram-bandwidth-limits、dpdk、spdk、kernel-stack。 |
|
Linux* または Android* ターゲットのシステムの全般的な動作を評価し、電力とパフォーマンスのメトリックを IRQ 処理と関連付けます。 収集タイプ: ハードウェア・イベントベース・サンプリング収集。 knob: collection-detail。 |
Android* システムでは、インテル® VTune™ プロファイラーは、インテル® HD グラフィックスとインテル® Iris® グラフィックスを搭載するプロセッサーでのみ GPU 解析を実行できます。収集した結果を CLI レポートで表示することはできません。結果を見るには、GUI で結果を開きます。
collect アクションが指定されない限り、vtune コマンドはデータの収集を行いません。
[no]-allow-multiple-runs、[no]-analyze-system、 data-limit、discard-raw-data、duration、finalization-mode、[no]-follow-child、knob 、mrte-mode、quiet、resume-after、return-app-exitcode、ring-buffer、search-dir、start-paused、strategy、[no-]summary、target-duration-type、target-pid、target-process、target-system、trace-mpi、no-unplugged-mode、user-data-dir、verbose
解析とデータの収集を行うには、collect アクションを使用します。デフォルトで、この手順は指定されたタイプの解析を実行し、データを収集して結果ファイルをファイナライズして、サマリーレポートを stdout に出力します。ほとんどの場合、search-dir アクションオプションで検索ディレクトリーを指定できます。一部の解析タイプでは、追加レベルを指定する knob オプションがサポートされます。
目的に合わせて collect アクションのカスタマイズに使用できる各種オプションがあります。例えば、子プロセスのみを解析する、一定時間が経過してから収集を開始する、または結果をファイナライズせずに収集を行う、などを選択できます。このトピックにはいくつかの例が含まれます。詳細は、以下で説明する help コマンドを使用するか、このドキュメントで実行する解析タイプに関連する情報を検索してください。
アクションに関する最新のドキュメントを開くには、次のコマンドを実行します: vtune -help <action>、ここで <action> は利用可能ないずれかのアクションです。利用可能なアクションを見るには、vtune -help を入力します。
プロセッサーでサポートされる解析タイプを確認するには:
vtune -help collect
サポートされる解析タイプの詳細を見るには:
vtune -help collect <analysis_type>
このコマンドは、指定した解析タイプと設定オプション (knob) の説明を表示します。
collect-with |
collect-with アクションは、collect アクションと同じ基本機能を実行しますが、カスタム設定向けの追加 knob も用意されています。 |
このコマンドは、Linux* myApp アプリケーションのハードウェア・イベントベース・サンプリング・モードのホットスポット解析を実行し、結果をデフォルト・ディレクトリーに書き込み、サマリーレポートを出力します。
vtune -collect hotspots -knob sampling-mode=hw -- /home/test/sample
適切な結果を得るには、検索ディレクトリーを指定します。この例は、デフォルトの命名規則でホットスポットの結果を収集して、優先順位が高い home/import/system_modules 検索ディレクトリーからシンボルファイルを検索します。
vtune -collect hotspots -search-dir /home/import/system_modules -- /home/test/sample
ホットスポット収集を実行中のプロセスにアタッチするには、target-pid または target-process オプションを使用します。この例では、target-pid を使用して ID が 1234 の実行中のプロセスに収集をアタッチします。
vtune -collect hotspots -target-pid 1234
no-auto-finalize アクションオプションは、スレッド化解析を開始してパフォーマンス・データを収集し、結果をファイナライズせずに終了します。
vtune -collect threading -no-auto-finalize -- /home/test/sample