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

入出力解析

プラットフォーム全体の入出力解析を使用して、ディスクおよびネットワーク・サブシステム、CPU および プロセッサー・バスの利用率を監視します。

これは、Windows* ではプレビュー機能です。プレビュー機能は、正式リリースに含まれるかどうか未定です。皆さんが機能に対する有用性のフィードバックを送ることで、将来の採用決定の判断に役立ちます。プレビュー機能で収集されたデータは、将来のリリースで下位互換が提供される保証はありません。parallel.studio.support@intel.com または intelsystemstudio@intel.com へフィードバックをお送りください。

入出力解析で以下を特定できます。

選択した構成に応じて、入出力解析は特定の I/O API メトリックを収集し、さまざまな視点からコードを調査します。

システムディスク I/O API メトリック

この収集タイプでは、ハードウェア・イベントベース・サンプリング収集とシステム全体の Ftrace 収集 (Linux* と Android* ターゲット)/ETW 収集 (Windows* ターゲット) を使用して、ハードウェア・イベントと組み合わせたストレージ・サブシステムの一貫したビュート、ユーザーレベルのソースコードとハードウェアで実行された I/O パケットを容易に対応付ける方法を提供します。

ディスク入出力解析

この解析アクティビティーは、カーネル・ブロック・ドライバー・システムによって生成されるデータに依存します。プラットフォームで標準以外のブロック・ドライバー・サブシステム (ユーザー空間のストレージデバイスなど) が使用されている場合、解析タイプで I/O メトリックを使用できません。

インテル® VTune™ プロファイラーは、次のシステム全体のメトリックを使用して ディスク I/O 解析を行います。

SPDK I/O API メトリック (Linux* のみ)

DPDK I/O API メトリック

DPDK アプリケーションによるコア利用率を解析するには、パケットレートパケット損失メトリックを収集するように解析を拡張します (カスタムコレクターを使用)。

プラットフォーム・メトリック

インテル® マイクロアーキテクチャー開発コード名 Sandy Bridge EP 以降を搭載するサーバー・プラットフォームでは、インテル® VTune™ プロファイラーの入出力解析 は、PCIe* バスを介して転送される 1 秒あたりのデータ量を示す PCIe* 帯域幅メトリックを収集するオプションを提供します。

送信 PCIe* 帯域幅メトリックは、インテル® マイクロアーキテクチャー開発コード名 Broadwell 以降のサーバーシステムでサポートされます。

インテル® マイクロアーキテクチャー開発コード名 Skylake 以降のサーバー・プラットフォームでは、PCIe* 帯域幅メトリックはデバイスごとに収集できます。PCIe* デバイスを識別しやすい名前にするには、root 権限で入出力解析を行います。

解析の設定と実行

必要条件:

入出力解析を実行するには以下を行います。

  1. (スタンドアロン GUI)/ (Visual Studio* IDE) でインテル® VTune™ プロファイラーのツールバーにある [解析の設定] ボタンをクリックします。

    [解析の設定] ウィンドウが開きます。

  2. [どのように] ペインで、[実行する解析タイプを選択] ボタンをクリックして、[プラットフォーム解析] > [入出力] を選択します。

    対応する解析設定が開きます。

  3. ターゲット・アプリケーションと解析の目的に応じて、次の解析オプションを選択します。

    [プロファイルする I/O API タイプを選択]

    デフォルトで、インテル® VTune™ プロファイラーは [システムディスク I/O API をプロファイル] を選択します。

    DPDK アプリケーションでは、[DPDK I/O API をプロファイル] を選択します。

    SPDK アプリケーションでは、[SPDK I/O API をプロファイル] を選択します。

    [PCIe* 帯域幅解析] チェックボックス

    PCIe* 帯域幅を計算するのに必要なイベントを収集します。

    このオプションは、インテル® マイクロアーキテクチャー開発コード名 Sandy Bridge EP 以降を搭載するサーバー・プラットフォームでのみ表示されます。

    このオプションは、デフォルトで無効に設定されています。

    [メモリー帯域幅解析] チェックボックス

    メモリー 帯域幅を計算するのに必要なデータを収集します。

    このオプションは、デフォルトで有効になっています。

    [DRAM の最大帯域幅を評価] チェックボックス

    収集を開始する前に、達成可能な最大 DRAM 帯域幅を評価します。このデータは、タイムライン上で帯域幅メトリックをスケールし、しきい値を計算するために使用されます。

    このオプションは、デフォルトで有効になっています。

    SPDK とシステムディスク I/O 解析は同時に実行できません。

  4. 解析を実行するには、 [開始] をクリックします。

入出力解析を実行するには、次のコマンドラインを入力します。

$ vtune -collect io [-knob <value>] -- <target> [target_options]

データを表示

インテル® VTune™ プロファイラーはデータを収集し、結果として rxxxio を生成して、選択した設定に従って統計情報を表示するデフォルトの入出力ビューポイントを開きます。

次にすることは?

システムディスク I/O 解析で I/O と計算のインバランスを確認した場合、I/O 操作を非同期に行うようコードを変更することを検討してください。待機時間が長い I/O 要求は、データを事前読み込むか、少しずつ書き込むか、またはストレージデバイスをアップグレード (例えば SSD に) することを検討してください。

SPDK I/O 解析向け:

DPDK アプリケーション解析では次のメトリックを調査します。

関連情報