インテル® VTune™ プロファイラー・ユーザーガイド
インテル® VTune™ プロファイラーの入出力解析を使用して、ハードウェアとソフトウェアの両方のレベルで I/O 集約型のアプリケーションのパフォーマンス・ボトルネックを特定します。
インテル® VTune™ プロファイラーの入出力解析は次のことを判断するのに役立ちます。
Linux* の入出力解析では、主に 2 つのパフォーマンス・メトリックがあります。
FreeBSD* では、次のメトリックのサブセットがサポートされます。
入出力解析メトリックの完全なセットは、インテル® Xeon® プロセッサーでのみ利用できます。
Linux*:
解析するドメインによって、次の前提条件を満たす必要があります。
PCIe* メトリック:
デバイスごとの PCIe* トラフィック・メトリックは、インテル® マイクロアーキテクチャー (開発コード名 Skylake) ベースのサーバー・プラットフォーム以降で利用できます。デバイスごとのメトリックを収集するには、次のオプションを使用します。
サンプリング・ドライバーのロード
Linux* perf ベースの収集は、Linux* カーネルのバージョン 5.10 以降で利用できます。
root 権限で解析を実行します。
インテル® DDIO 利用率効率メトリックを収集するには、サンプリング・ドライバーがロードされていることを確認してください。
DPDK メトリック: DPDK が インテル® VTune™ プロファイラーのサポート (英語) を有効にしてビルドされていることを確認してください。
SPDK メトリック: SPDK が --with-vtune 高度なビルドオプションでビルドされていることを確認してください。
Linux* カーネル I/O: これらのメトリックを収集するため、インテル® VTune™ プロファイラーは FTrace* 収集を有効にして、debugfs へのアクセスを可能にします。システムによっては、bin ディレクトリーにある prepare_debugfs.sh スクリプトを実行してパーミッションを再設定するか、root 権限を使用する必要があります。
FreeBSD*:
SPDK メトリック: SPDK が --with-vtune 高度なビルドオプションでビルドされていることを確認してください。
FreeBSD* では、インテル® VTune™ プロファイラーのグラフィカル・ユーザー・インターフェイスはサポートされません。Linux* または Windows* システムからリモート SSH を使用して解析の設定と実行を行ったり、CLI からローカルで結果を収集することができます。詳細は、FreeBSD* ターゲットをご覧ください。
インテル® VTune™ プロファイラーを起動して、オプションでプロジェクトを作成します。
[解析の設定] ボタンをクリックします。
[どこを] ペインで、プロファイルするターゲットシステムを選択します。
[どのように] ペインで、[プラットフォーム解析] > [入出力] を選択します。
[何を] ペインで、解析するターゲットを指定します (アプリケーション、プロセス、またはシステム)。
ターゲット・アプリケーションと解析の目的に応じて、次の解析オプションを選択します。
[PCIe* トラフィックを解析] チェックボックス |
以下に必要なデータを収集します:
注このオプションは、インテル® マイクロアーキテクチャー開発コード名 Sandy Bridge EP 以降を搭載するサーバー・プラットフォームで表示されます。 該当すれば、このオプションはデフォルトで有効になります。 |
[MMIO アクセスを特定] チェックボックス |
MMIO アクセス空間を介してデバイスメモリーにアクセスし、アウトバウンド PCIe* トラフィックを発生させるコードを特定するデータを収集します。 注
このオプションは、デフォルトで有効になります。 |
[メモリーとソケット間の帯域幅を解析] チェックボックス |
DRAM とインテル® Ultra Path インターコネクト (インテル® UPI) または、インテル® QuickPath インターコネクト (インテル® QPI) 帯域幅を計算するために必要なデータを収集します。 注DRAM 帯域幅データは常に収集されますが、インテル® UPI とインテル® QPI のソケット間帯域幅データは、システムが対応する場合にのみ収集されます。 このオプションは、デフォルトで有効になります。 |
[DRAM の最大帯域幅を評価] チェックボックス |
収集を開始する前に、達成可能な最大 DRAM 帯域幅を評価します。 このデータは、タイムライン上で帯域幅メトリックをスケールし、しきい値を計算するために使用されます。 注オーバーヘッドを減らすため、[プロセスにアタッチ] モードでプロファイルを行う場合、このオプションを無効にすることを推奨します。 このオプションは、デフォルトで有効になります。 |
[プロファイルする API を選択] チェックボックス・グループ |
プロファイルする IO API を選択します。
注
|
SPDK と Linux* カーネル I/O メトリックは、同時に収集できません。
コマンドラインから入出力解析を実行するには、次のコマンドを入力します。
vtune -collect io [-knob <value>] -- <target> [target_options]
インテル® VTune™ プロファイラーはデータを収集し、rxxxio 結果を作成して、デフォルトの [入力と出力] ビューポイントでその結果を開きます。