io コマンドライン解析

構文

vtune -collect io [-knob <knobName=knobValue>] [-- target] [target_options]

Knob:

プラットフォーム・レベルのメトリック Knob:

Knob 許可される値 デフォルト値 説明
collect-PCIE-bandwidth true/false true 次のデータを収集します。
  • インバウンド帯域幅 (インテル® データダイレクト I/O)
  • アウトバウンド帯域幅 (メモリーマップ I/O)
  • L3 ミス
  • インバウンド I/O 要求の平均レイテンシー
mmio true/false false MMIO 空間を介してデバイスにアクセスし、アウトバウンド I/O トラフィックを発生させるコードの特定に必要なデータを収集します。
iommu true/false false ダイレクト I/O 向けインテル® バーチャライゼーション・テクノロジー (インテル® Vt-d) のパフォーマンス・メトリックの計算に必要なデータを収集します。
collect-memory-bandwidth true/false true メモリー、パーシステント・メモリー、およびソケット間の帯域幅の計算に必要なデータを収集します。
dram-bandwidth-limits true/false true 収集を開始する前に、達成可能な最大 DRAM 帯域幅を評価します。このデータは、タイムライン上で帯域幅メトリックをスケールし、しきい値を計算するために使用されます。

OS と API レベルのメトリック Knob:

Knob 許可される値 デフォルト値 説明
dpdk true/false false DPDK メトリックの収集。DPDK がインテル® VTune™ プロファイラーのサポートを有効にしてビルドされていることを確認してください。
spdk true/false false SPDK メトリックの収集。SPDK がインテル® VTune™ プロファイラーのサポートを有効にしてビルドされていることを確認してください。
kernel-stack true/false false Linux* カーネル I/O スタックのプロファイル。

必要条件

Linux*:

サンプリング・ドライバーをロードするか、ドライバーを使用しないハードウェア・イベント収集 (Linux*) を使用します。

各メトリックの詳細な前提条件については、「入出力解析」を参照してください。

FreeBSD*:

FreeBSD* ターゲットパッケージをインストールし、手順に従ってシステムを構成します。

例 1: ターゲット・アプリケーションを起動して入出力解析

ターゲット・アプリケーション <app> に対し、インテル® VT-d メトリック収集を有効にして入出力解析を実行します。

vtune -collect io -knob iommu=true -- <app>

例 2: ターゲット・アプリケーションをアタッチして入出力解析

インテル® VT-d および SPDK トリック収集を使用して、プロセスにアタッチモードで MMIO アクセス機能を利用せずに入出力解析を実行します。

vtune -collect io -knob iommu=true -knob mmio=false -knob spdk=true --target-process=<process_name>

または、PID をアタッチします。

vtune -collect io -knob iommu=true -knob mmio=false -knob spdk=true --target-pid=<pid>

例 3: システム全体をプロファイルして入出力解析

この例は、ターゲット・アプリケーションを指定せずに、システム全体の入出力解析を 30 秒間実行します。

vtune -collect io --duration 30

次にすることは?

データ収集が完了したら、結果を表示するため次のいずれかの操作を行います。

関連情報