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

組込み Linux* ターゲット

組込み Linux* システム、Wind River*、Yocto Project*、FreeBSD* などでパフォーマンス解析を行うには、インテル® VTune™ プロファイラーを使用します。

組込みデバイスのパフォーマンス・データは、リモート接続した組込みデバイスで収集し、ホストシステムにインストールされたインテル® VTune™ プロファイラーのインスタンスから解析を実行できます。これは、ターゲットシステムがローカルデータ解析ができない場合に便利です (低パフォーマンス、ディスクの容量不足、ユーザー・インターフェイス制御の問題などにより)。

インテル® VTune™ プロファイラーによるパフォーマンス解析で使用するコレクターとドライバーをインストールするには、オペレーティング・システム・カーネルへの root アクセスが必要です。

組込みデバイス上でパフォーマンス解析を可能にするには、いくつかの方法があります。

インテル® System Studio の統合レイヤーを使用する

インテル® System Studio の統合レイヤーは、Wind River* Linux* または Yocto Project* がインストールされた組込みシステムで動作します。

インテル® System Studio の統合レイヤーは、ドライバーと対応するターゲットパッケージをオペレーティング・システム・イメージ内に自動的に組込むことで、インテル® System Studio 製品をターゲット・オペレーティング・システムと完全に統合することを可能にします。このオプションを使用すると、プラットフォーム・ビルド・エンジニアはカーネルソースとシグネチャー・ファイルのすべてを制御することができますが、アプリケーション・エンジニアには許可されません。プラットフォーム・ビルド・エンジニアは、製品ドライバーとターゲットパッケージを統合して、それらをアプリケーション・エンジニアへ提供する組込みデバイスイメージに含めることができます。

1.インテル® System Studio をインストールします。

インストーラー GUI を使用して、インテル® System Studio をインストールします。

2.インテル® System Studio の統合レイヤーをインストールします。

  1. インテル® System Studio のインストール先から、ターゲット・オペレーティング・システムの開発フォルダーに統合レイヤーをコピーします。
  2. インストール後のスクリプトを実行: <iss-install-dir>/YoctoProject/meta-intel-iss/yp-setup/postinst_<OS>_iss.sh <ISS_BASE_dir>

    例えば、Wind River* Linux* では次を実行します: /YoctoProject/meta-intel-iss/yp-setup/postinst_wr_iss.sh

3.適切なインテル® VTune™ プロファイラーのパッケージを含むレシピをビルドします。

  1. bblayers.conf ファイルに /YoctoProject/meta-intel-iss へのパスを追加します。

    BBLAYERS= "\

    ...

    <OS_INSTALL_DIR>/YoctoProject/meta-intel-iss\

    ...

    "

  2. conf/local.conf にインテル® VTune™ プロファイラーのレシピを追加します。次のようなレシピがあります。

    • intel-vtune-drivers: スタックおよびコンテキスト切り換えと PMU ベース解析に必要なすべてのインテル® VTune™ プロファイラーのドライバーを統合します。追加のカーネルオプションを有効にする必要があります。

    • intel-vtune-sep-driver: カーネルオプションで要求される最小限の PMU ベース解析で必要なドライバーを統合します。

    それぞれの方法の詳細については、「リモート Linux* ターゲットの設定」を参照してください。

4.ターゲットのオペレーティング・システムをビルドします。

インテル® VTune™ プロファイラーのコレクターとドライバーの統合が完了したターゲット・オペレーティング・システムをビルドします。

5.ターゲットの組込みデバイスへオペレーティング・システムを書き込みます。

ターゲットの組込みデバイスへオペレーティング・システムを書き込んだ後に、適切なインテル® VTune™ プロファイラーのドライバーが存在することを確認します。詳細については、Linux* ターゲット向けにサンプリング・ドライバーをビルドをご覧ください。

6.ターゲットの組込みデバイスで解析を実行します。

SSH 接続または SEP コマンドを使用して、ホストシステムから解析を実行します。

ホストシステムから解析を実行するには、次の手順に従ってください。

  1. RSA キーを使用して、ターゲットへのパスワードなしの SSH アクセスをセットアップします。

  2. 解析ターゲットとリモートシステムを指定します。

    リモート接続を設定した後、インテル® VTune™ プロファイラーはターゲットシステムに適切なコレクターをインストールします。

  3. 解析タイプを選択します。

  4. ホストから解析を実行します。

SEP コマンドを実行する詳しい方法は、製品ユーザーガイドの「サンプリングの有効化」をご覧ください。

7.インテル® VTune™ プロファイラーの GUI で結果を表示します。

ホスト上で収集した結果を表示します。

インテル® System Studio の統合レイヤーと Yocto Project* を設定

インテル® VTune™ プロファイラーの Yocto Project* 統合レイヤーを使用する

インテル® VTune™ プロファイラーの Yocto Project* 統合レイヤーは、オペレーティング・システム・イメージに自動的にドライバーを組込みます。このオプションを使用すると、プラットフォーム・ビルド・エンジニアはカーネルソースとシグネチャー・ファイルのすべてを制御することができますが、アプリケーション・エンジニアには許可されません。プラットフォーム・ビルド・エンジニアは、製品ドライバーとターゲットパッケージを統合して、それらをアプリケーション・エンジニアへ提供する組込みデバイスイメージに含めることができます。

1.インテル® VTune™ プロファイラーをインストール。

インテル® VTune™ プロファイラーをインストールします。

2.統合レイヤーを設定します。

  1. <install-dir>/target/linux/vtune_profiler_target_x86.tgz または <install-dir>/target/linux/vtune_profiler_target_x86_64.tgz パッケージを展開します。

  2. sepdk/vtune-layer/conf/user.conf ファイルを修正してユーザー設定を指定します。

    1. 次のいずれかのパスを指定します。

      • ZIP されていないターゲットパッケージへのパス: VTUNE_TARGET_PACKAGE_DIR = "<PATH>"

      • インテル® VTune™ プロファイラーのインストール・ディレクトリーへのパス: VTUNE_PROFILER_2020_DIR = "<PATH>"

    2. (オプション) システムブートの間に SEP ドライバーを統合するため、ADD_TO_INITD = "y」 を指定します。

  3. 統合レイヤーを Yocto Project* 開発環境へコピーします。

  4. レイヤーへのパスを bblayers.conf ファイルに追加します。

    BBLAYERS= "\

    ...

    <OS_INSTALL_DIR>/vtune-layer\

    ...

    "

  5. conf/local.conf にインテル® VTune™ プロファイラーのレシピを追加します。次のようなレシピがあります。

    • intel-vtune-drivers: スタックおよびコンテキスト切り換えと PMU ベース解析に必要なすべてのインテル® VTune™ プロファイラーのドライバーを統合します。追加のカーネルオプションを有効にする必要があります。

    • intel-vtune-sep-driver: カーネルオプションで要求される最小限の PMU ベース解析で必要なドライバーを統合します。

    それぞれの方法の詳細については、「リモート Linux* ターゲットの設定」を参照してください。

3.ターゲットのオペレーティング・システムをビルドします。

インテル® VTune™ プロファイラーのコレクターとドライバーの統合が完了したターゲット・オペレーティング・システムをビルドします。

4.ターゲットの組込みデバイスへオペレーティング・システムを書き込みます。

ターゲットの組込みデバイスへオペレーティング・システムを書き込んだ後に、適切なインテル® VTune™ プロファイラーのドライバーが存在することを確認します。詳細については、Linux* ターゲット向けにサンプリング・ドライバーをビルドをご覧ください。

5.ターゲットの組込みデバイスで解析を実行します。

SSH 接続または SEP コマンドを使用して、ホストシステムから解析を実行します。

ホストシステムから解析を実行するには、次の手順に従ってください。

  1. RSA キーを使用して、ターゲットへのパスワードなしの SSH アクセスをセットアップします。

  2. 解析ターゲットとリモートシステムを指定します。

  3. 解析タイプを選択します。

  4. ホストから解析を実行します。

SEP コマンドを実行する詳しい方法は、製品ユーザーガイドの「サンプリングの有効化」をご覧ください。

6.インテル® VTune™ プロファイラーの GUI で結果を表示します。

ホスト上で収集した結果を表示します。

インテル® VTune™ プロファイラーの統合レイヤーと Yocto Project* を設定

インテル® VTune™ プロファイラーのインストール・パッケージのバンドルを使用する

コマンドラインから、手動でカーネルイメージに適切なドライバーを組み込んで、インテル® VTune™ プロファイラーのコレクターをインストールできます。この手順では、構成されたカーネルソースへの root アクセスが必要です。

1.インテル® VTune™ プロファイラーをインストールします。

GUI インストーラーを使用してインストールします。

2.ターゲットの組込みデバイスで解析を実行します。

ホストシステムから解析を実行するには、次の手順に従ってください。

  1. RSA キーを使用して、ターゲットへのパスワードなしの SSH アクセスをセットアップします。

  2. 解析ターゲットとリモートシステムを指定します。パッケージに含まれるコレクターとドライバーが自動的にインストールされます。

  3. 解析タイプを選択します。

  4. ホストから解析を実行します。

3.インテル® VTune™ プロファイラーの GUI で結果を表示します。

ホスト上で収集した結果を表示します。

トラブルシューティング

コレクターのインストール時にドライバーがビルドできなかった場合、インストーラーはサンプリング・ドライバーが必要であることを警告します。

ドライバーは、ターゲットシステムやホストシステム上で、コンパイラー・ツールチェーンの利用状況に応じてビルドされます。

  1. ターゲットシステムでコンパイラー・ツールチェーンが利用できる場合:

    1. ターゲットの組込みデバイスで、<install-dir>/sepdk/src ディレクトリーからドライバーをビルドするため、./build-driver コマンドを使用します。
    2. カーネルにドライバーをロードするには、./insmod-sep コマンドを使用します。
  2. ターゲットシステムでコンパイラー・ツールチェーンが利用できない場合:

    1. ホストシステム上で、ターゲットパッケージのドライバーのソースを使用しドライバーをクロスコンパイルするには、sepdk/src ディレクトリーにある ./build-driver コマンドを使用します。必要に応じて、ビルドに必要なクロス・コンパイラーとターゲットのカーネル・ソース・ツリーを準備します。
    2. sepdk/src フォルダーをターゲットシステムにコピーします。
    3. カーネルにドライバーをロードするには、./insmod-sep コマンドを使用します。

詳細については、Linux* ターゲット向けにサンプリング・ドライバーをビルドをご覧ください。

インテル® VTune™ プロファイラーのターゲットパッケージと Yocto Project* を設定