インテル® VTune™ プロファイラー・ユーザーガイド

collect

指定した解析タイプを実行して結果データを収集します。

GUI オプション

[解析の設定] ウィンドウ > [どのように] ペイン

構文

-collect <analysis_type>

-c <analysis_type>

引数

analysis_type

パフォーマンス解析のタイプ。次の解析タイプと設定可能な knob がサポートされます。

anomaly-detection

ループ反復など、頻繁に繰り返されるコードのインターバルでパフォーマンスの異常を特定するのに役立ちます。マイクロ秒単位で詳細な解析を実行します。

  • -knob ipt-regions-to-load を使用して、詳しく解析するためにロードするコード領域の最大数 (10-5000) を指定します。効率良くロードを行うには、この値を 1000 以下にします。

  • -knob max-region-duration では、コード領域ごとの最大期間 (0.001-1000ミリ秒) を指定します。

収集タイプ: ユーザーモード・サンプリングとトレース収集、またはハードウェア・イベントベース・サンプリングを行います。

hotspots

収集モードを指定して最も時間を要するソースコードを特定します。

  • -knob sampling-mode=sw ユーザーモード・サンプリングとトレースを基にホットスポットとスタック情報を収集します (以前の基本ホットスポット)。サンプリング・ドライバーは必要ありませんが、収集のオーバーヘッドは増加します。このモードはシステムのプロファイルには使用できませんが、アプリケーション/プロセスを起動もしくはアタッチする必要があります。

  • -knob sampling-mode=hw システム上のすべてのプロセスをサンプリングしてホットスポットを特定します (以前の高度なホットスポット)。

収集タイプ: ユーザーモード・サンプリングとトレース収集、またはハードウェア・イベントベース・サンプリングを行います。

knob: enable-characterization-insightsenable-stack-collectionsampling-intervalsampling-mode

threading

アプリケーションが利用可能な論理 CPU コアをどのように使用しているかを解析し、並列処理で同期オーバーヘッドが発生している場所を見つけ、待機がアプリケーションのパフォーマンスに与える影響を調べて並列化の候補を特定します。

収集タイプ: ユーザーモード・サンプリングとトレース収集。

knob: sampling-interval

memory-consumption

個別のメモリー・オブジェクトとそれらの割り当てスタックを含む、Linux* アプリケーションのメモリー消費を解析します。

収集タイプ: ユーザーモード・サンプリングとトレース収集。

knob: mem-object-size-min-thres

hрc-performance

計算集約型またはスループットに依存するアプリケーションの CPU、メモリー、および FPU 利用率の最適化の可能性を特定するのに役立ちます。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: enable-stack-collectioncollect-memory-bandwidthsampling-intervaldram-bandwidth-limits

uarch-exploration (以前は general-exploration と呼ばれていました)

アプリケーションのパフォーマンスに影響する最も顕著なハードウェアの問題を特定して、その場所を見つけます。この解析タイプは、マイクロアーキテクチャー解析の出発点として使用されます。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: enable-stack-collectioncollect-memory-bandwidthenable-user-tasks

memory-access

メモリーアクセスに関連する問題 (例えば、NUMA アーキテクチャー固有) を特定する一連のメトリックを測定します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: sampling-intervaldram-bandwidth-limitsanalyze-openmp。(Linux* のみ) analyze-mem-objectsmem-object-size-min-thres

sgx-hotspots (廃止予定)

インテル® ソフトウェア・ガード・エクステンション (インテル® SGX) 機能が有効にされたシステムで、セキュリティー保護された内部のホットスポットを解析します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: enable-stack-collectionenable-user-tasks

tsx-exploration (廃止予定)

インテル® トランザクショナル・シンクロナイゼーション・エクステンション (インテル® TSX) の使用を解析します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: enable-user-tasksanalysis-step

tsx-hotspots (廃止予定)

トランザクション内部のホットスポットを解析します。

knob: enable-user-tasksenable-stack-collection

cpugpu-concurrency (廃止予定)

CPU/GPU 並行性解析を有効にし、システム上の各種 CPU と GPU コア上のコード実行を調査し、CPU と GPU のアクティビティーを関連付けて、アプリケーションが GPU 依存か CPU 依存か特定します。

knob: sampling-intervalenable-user-tasksenable-user-syncenable-gpu-usagegpu-counters-modeenable-gpu-runtimes

gpu-hotspots

高い GPU 利用率の GPU タスクを特定し、この利用率の効率を予測します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: gpu-sampling-intervalenable-gpu-usagegpu-counters-modeenable-gpu-runtimesenable-stack-collection

gpu-profiling (廃止予定)

コード行ごとの GPU カーネル実行を解析し、メモリー・レイテンシーや非効率なカーネル・アルゴリズムによるパフォーマンスの問題を特定します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: gpu-profiling-modekernels-to-profile

graphics-rendering (プレビュー)

Xen* 仮想化プラットフォームで実行されるコードの CPU/GPU 利用率を解析します。GPU エンジンごとの GPU 使用量と GPU ハードウェア・メトリックを調査することで、パフォーマンスの向上が可能な場所を理解するのに役立ちます。可能であれば、この解析は OpenGL* ES API 呼び出しを検出してタイムラインに表示します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: gpu-sampling-intervalgpu-counters-mode

fpga-interaction

FPGA 上で実行されている OpenCL* カーネルを調査して、CPU/FPGA 相互作用の問題を解析し、最も時間がかかる FPGA カーネルを特定します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: sampling-intervalenable-stack-collection

io

I/O サブシステム、CPU およびプロセッサー・バスの利用率を監視します。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: kernel-stackcollect-memory-bandwidthdram-bandwidth-limits。(Linux* のみ) dpdkspdk

system-overview

Linux* または Android* ターゲットシステムの一般的な動作を評価し、電力とパフォーマンスのメトリックを IRQ 処理と関連付けます。

収集タイプ: ハードウェア・イベントベース・サンプリング収集。

knob: collection-detail

Android* システムでは、インテル® VTune™ プロファイラーは、インテル® HD グラフィックスとインテル® Iris® グラフィックスを搭載するプロセッサーでのみ GPU 解析を実行できます。収集した結果を CLI レポートで表示することはできません。結果を見るには、GUI で結果を開きます。

デフォルト

オフ

collect アクションが指定されない限り、vtune コマンドはデータの収集を行いません。

修飾子

[no]-allow-multiple-runs[no]-analyze-system data-limitdiscard-raw-datadurationfinalization-mode[no]-follow-childknob mrte-modequietresume-afterreturn-app-exitcodering-buffersearch-dirstart-pausedstrategy[no-]summarytarget-duration-typetarget-pidtarget-processtarget-systemtrace-mpino-unplugged-modeuser-data-dirverbose

説明

解析とデータの収集を行うには、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 hs -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

関連情報