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

リモート解析向けに Linux* システムを設定

解析を設定する際に、[どこを] ペインで [リモート Linux* (SSH)] を選択して、インテル® VTune™ プロファイラーの解析ターゲットとしてシステムを指定することで、ターゲット Linux* システム上でリモートにデータ収集することができます。インテル® VTune™ プロファイラーは、自動的にターゲットシステムに対応したコレクターをインストールします。[リモートシステム上のインテル® VTune™ プロファイラー・インストール・ディレクトリー] フィールドに、インストール先の場所を指定します。

リモート Linux* システム上での自動インストールでは、サンプリング・ドライバーをビルドすることができませんが、パスワードなしの SSH で root ユーザーとして接続することができれば、事前にビルドされたサンプリング・ドライバーをインストールすることができます。ドライバーを使用しないサンプリング・データ収集は、Linux* Perl* ツールの機能をベースにしており、root アクセスなしで利用できますが、解析オプションの範囲が限られています。高度なハードウェア・イベントベース・サンプリング・データを収集するには、手動でサンプリング・ドライバーをインストールするか、root ユーザーアカウントでパスワードなしの SSH を設定してください。

コレクターが自動インストールされないか、自動インストール後にエラーが発生した場合、次に示す手順でリモート Linux* システム上で適切にデータ収集を設定します。

  1. ターゲットシステムにインテル® VTune™ プロファイラーのコレクターをインストールします。

  2. サンプリング・ドライバーをビルドしてインストールします (これはオプションです)。

  3. ターゲットシステムへの SSH アクセスを設定します

ターゲットシステムにインテル® VTune™ プロファイラーのコレクターを手動でインストール

通常の Linux* ターゲット、または 組込み Linux* ターゲットシステム上で解析を設定するには、次の手順に従ってください。

  1. ftp、sftp または scp コマンドを使用して、必要なターゲットパッケージをターゲットデバイスにコピーします。ホストシステム上にインテル® VTune™ プロファイラーがインストールされている場合、次のターゲットパッケージが使用できます。

    • <install-dir>/target/linux/vtune_profiler_target_sep_x86.tgz - x86 システム向けのハードウェア・イベントベース・サンプリング・コレクターのみ (SEP) を提供します。

    • <install-dir>/target/linux/vtune_profiler_target_sep_x86_64.tgz - 64 ビット システム向けのハードウェア・イベントベース・サンプリング・コレクターのみ (SEP) を提供します。

    • <install-dir>/target/linux/vtune_profiler_target_x86.tgz - x86 システム向けのすべてのインテル® VTune™ プロファイラーのコレクターを提供します。

    • <install-dir>/target/linux/vtune_profiler_target_x86_64.tgz - 64 ビット システム向けのすべてのインテル® VTune™ プロファイラーのコレクターを提供します。

    64 ビットシステムで 32 ビットプロセスを実行および解析する場合、*_x86*_x86_64 の両方のパッケージを使用します。

  2. ターゲットデバイスで、製品パッケージを /tmp ディレクトリーまたはシステム上の書き込み可能な場所に展開します。

    target> tar -zxvf <target_package>.tgz

    インテル® VTune™ プロファイラーのターゲットパッケージは、新たに作成される /tmp/vtune_profiler_<version>.<package_num> ディレクトリーにあります。

データをリモート収集する場合、インテル® VTune™ プロファイラーはターゲットデバイス上でコレクターを検索します。デフォルトの場所は、/tmp/vtune_profiler_<version>.<package_num> です。またターゲットシステムの /tmp ディレクトリーにパフォーマンス結果が一時的に格納されます。ターゲットパッケージを異なる場所にインストールして、他の一時ディレクトリーを指定する場合、[解析の設定] ウィンドウでターゲット・プロパティーが次のように設定されていることを確認してください。

または、vtune コマンドから -target-install-dir-target-tmp-dir オプションを使用します。

ドライバーを手動でビルドしてインストール

コレクターのインストール時にドライバーがビルドできなかった場合にのみ、サンプリング・ドライバーのビルドが必要となります。ドライバーをビルドする必要がある場合、インストール中に通知されます。

ターゲットデバイス上でハードウェア・イベントベース・サンプリング解析を有効にするには、次の手順に従ってください。

  1. ターゲットシステム上でサンプリング・ドライバーをビルドします。

    • カーネルヘッダーが、デバイス上で実行されるカーネルのバージョンと一致することを確認してください。詳細は、sepdk/src ディレクトリーの README.txt ファイルを参照してください。

    • コンパイラーのバージョンが、ターゲットシステムで動作するカーネルのアーキテクチャー (x86 または x86_64) と一致することを確認してください。

    • ハードウェア・イベントベース・サンプリング・モード、ホットスポット、マイクロアーキテクチャー全般、およびカスタム・イベントベース・サンプリング解析タイプでは、CPU PMU プログラミングの詳細を /sys/bus/event_source/devices/cpu/format にエクスポートするため root の認証情報とカーネル 2.6.32 以降のシステム向けのサンプリング・ドライバーが必要となります。オペレーティング・システムが、プロセスのアドレス空間に割り当てる最大メモリーサイズや、プロセスが同時に開くファイル数を制限する場合、プロファイル機能に影響する場合があります。これらの機能は、Linux* Perf の機能をベースとしているため、その制限もまたインテル® VTune™ プロファイラーに適用されます。詳しい情報は、https://perf.wiki.kernel.org/index.php/Main_Page (英語) の「Tutorial: Troubleshooting and Tips」に記載されています。

  2. ターゲットデバイス上でドライバーをインストールします

    標準的な Linux* コマンドが使用できないため insmod-sep スクリプトが動作しない場合、Linux* の insmod コマンドを直接使用してドライバーを手動でインストールします。

Open Build Service (OBS) ビルドサービスを使用して、PRM からサンプリング・ドライバーをビルドするには、<install-dir>/sepdk/src ディレクトリーにある sepdk.spec ファイルを使用します。

関連情報