インテル® VTune™ Amplifier 2018 ヘルプ
リモート Linux* ターゲットシステム要件: ターゲットシステムへの root アクセスが必要です。
ホスト Linux* での製品のインストール中に、[Advanced (詳細)] オプションによりドライバーのインストール・オプションを制御します。インテル® VTune™ Amplifier は次のオプションを提供します。
オプション |
説明 |
---|---|
Sampling driver install type (サンプリング・ドライバーのインストール・タイプ) |
ドライバーのインストール・オプションを選択します。デフォルトでは、インテル® VTune™ Amplifier はカーネルに対応したドライバーをビルドするため、サンプリング・ドライバー・キットを使用します。インストール後にドライバーを手動でビルドする場合、[driver kit files only (ドライバー・キット・ファイルのみ)] オプションに変更します。 |
Driver access group (ドライバーのアクセスグループ) |
システムでパフォーマンス収集を許可するユーザーを決定するため、ドライバーのアクセスグループの所有権を設定します。デフォルトのグループは、vtune です。このグループへのアクセスは制限されません。アクセスを制限するには、次の[Driver permissions]オプションをご覧ください。[Advanced] オプションでのインストール中に固有のグループを設定するか、インストール後に次のコマンドを実行してグループを変更します: ./boot-script -–group <グループ> (スクリプトは、<install_dir>/sepdk/src ディレクトリーにあります)。 |
Driver permissions (ドライバーのアクセス権限) |
ドライバーのアクセス権限を変更します。デフォルトでは、すべてのユーザーがドライバーにアクセスできます。この設定で、ユーザーはシステム全体のプロファイル、アプリケーションのプロファイル、およびプロセスにアタッチしてのプロファイルが可能です。 |
Load driver (ドライバーのロード) |
ドライバーをカーネルにロードします。 |
Install boot script (ブートスクリプトのインストール) |
システムを再起動するたびにドライバーをカーネルにロードするブートスクリプトを使用します。ブートスクリプトは次のコマンドで無効にできます: ./boot-script --uninstall (スクリプトは、<install_dir>/sepdk/src ディレクトリーにあります)。 |
Enable per-user collection mode (ユーザーごとの収集モードを有効にする) |
ユーザーごとのフィルターを有効にして、ハードウェア・イベントベース・コレクターのドライバーをインストールします。フィルターが有効な場合、コレクターは収集を開始したユーザーによってスポーンされたプロセスのデータのみ収集します。無効 (デフォルト) の場合、システムのすべてのプロセスからサンプルが収集されます。セキュリティーの観点から、クラスター環境ではほかのユーザーから収集を分離するためフィルターを利用することを考えてください。管理者/root は、ドライバーをいつでも再ビルド/再起動することでフィルターモードを変更することができます。一般ユーザーは、製品のインストール後にモードを変更することはできません。 注Linux* クラスター上の MPI アプリケーション解析では、インテル® Parallel Studio XE Cluster Edition をインストールする際に、ユーザーごとのハードウェア・イベントベース・サンプリング・モードを有効にできます。このオプションは、収集の間インテル® VTune™ Amplifier が現在のユーザーのデータのみを収集することを確実にします。インストール中に管理者によって有効にされると、通常ユーザーはこのモードを無効にすることができません。これは、ほかのユーザーのアクティビティーを含むノード全体のパフォーマンス・データを個々のユーザーが観察できないようにするためです。 インストール後に、それぞれの -vars.sh ファイルを使用して、現在のターミナルセッションで適切な環境 (PATH、MANPATH) を設定できます。 |
Driver build options … (ドライバーのビルドオプション …) |
このシステムでカーネル・ヘッダー・ファイルの場所を指定し、ドライバーのビルドに使用する C コンパイラーのパスと名前、ドライバーのビルドに使用する make コマンドのパスと名前を指定します。 |
ホスト Linux* システム上で、サンプリング・ドライバーが正しくインストールされていることを確認するには、次の操作を行います。
サンプリング・ドライバーがインストールされているか確認します。
> cd <install-dir>/sepdk/src
> ./insmod-sep -q
これは、現在ドライバーがロードされているかどうかと、ドライバーデバイスのグループ所有権とファイルのアクセス権限に関する情報を提供します。
グループの権限を確認します。
ドライバーがロードされていても、ユーザーが query 出力のグループのメンバーに登録されていない場合、システム管理者にグループへの登録を申請してください。デフォルトのドライバーのアクセスグループは、vtune です。所属するグループを確認するには、コマンドラインから groups を実行します。これは、アクセス権限が 660 または 666 以外の場合にのみ必要です。
進行中の収集がなければ、ドライバーのロードによる実行時間のオーバーヘッドはなく、メモリー使用量もほんのわずかです。(デフォルトで使用される install-boot-script スクリプトなどを利用して) ブート時にシステムモジュールを自動的にロードすることができます。インテル® VTune™ Amplifierm によってデータが収集されていなければ、システムのパフォーマンスに影響するレイテンシーはありません。
カーネルの設定を確認します。
カーネルのヘッダーソースが、ホストシステムに存在することを確認します。カーネルバ―ションは、2.6.28 以降である必要があります。カーネルのバージョンを調べるには、kernel-src-dir/include/linux/utsrelease.h または、カーネルのバージョンに応じて kernel-src-dir/include/generated/utsrelease.h を調査します。詳細は、sepdk/src ディレクトリーにある README.txt ファイルをご覧ください
ハードウェア・イベントベース・サンプリング (EBS) 収集のため、次のオプションがカーネル設定で有効であることを確認してください。
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_PROFILING=y
CONFIG_SMP=y
CONFIG_TRACEPOINTS=y (これはオプションですが、推奨されます)
また、上記のオプションに加え、スタック付きの EBS 収集向けのカーネル設定では、次のオプションが有効であるか確認してください。
CONFIG_KPROBES=y
CONFIG_RING_BUFFER=y
CONFIG_FRAME_POINTER=y (オプションですが、コールスタック・モード向けには推奨されます)
リモート・ターゲット・システムでカーネルモジュールの署名が必要であるかを決定します (CONFIG_MODULE_SIG_FORCE=y)。署名が必要である場合、ターゲットシステムと一致する署名キーが必要です。
サンプリング・ドライバーを新たなカーネルソースからビルドして、それを既存のターゲットシステムで使用する場合、オリジナルのキーファイルを取得してサンプリング・ドライバーをオリジナルキーで署名する必要があります。別の方法として、新しいカーネルをビルドして、ターゲットデバイスに書き込んで使用することもできます。
必要条件:
Linux* 上でカーネルドライバーをビルドしてロードするには、カーネル・ヘッダー・ソースおよびほかの追加ソフトウェアが必要になります。カーネル設定の確認をご覧ください。
リモートターゲット Linux* システム向けにドライバーをクロスビルドするには、<install_dir>/target フォルダーから <extract_dir> にパッケージを展開します。
ドライバーがない場合にビルドするには、次の操作を行います。
ビルドスクリプトが格納されているディレクトリーに移動します。
ローカルシステム向けにドライバーをビルド: > cd <install_dir>/sepdk/src
リモート・ターゲット・システム向けにドライバーをクロスビルド: > cd <extract_dir>/sepdk/src
カーネルに対応したドライバーをビルドする .build-driver スクリプトを使用します。次に例を示します。
> ./build-driver
スクリプトは、ローカルシステム向けのデフォルトのビルドオプションを表示します。
> ./build-driver -ni
スクリプトは入力を促すことなく、デフォルトオプションでローカルシステム向けのドライバーをビルドします。
> ./build-driver -ni -pu
スクリプトは入力を促すことなく、ユーザーごとのイベントベース・サンプリング収集を行うドライバーをビルドします。
> ./build-driver -ni \
--c-compiler=i586-i586-xxx-linux-gcc \
--kernel-version="<kernel-version>" \
--kernel-src-dir=<kernel-source-dir> \
--make-args="PLATFORM=x32 ARITY=smp"
--install-dir=<path>
スクリプトは、特定のカーネルバージョン向けに指定されたクロスコンパイラーでドライバーをビルドします。これは通常、現在のホスト上でリモート・ターゲット・システム向けのクロスビルドに使用されます。例えば、次のオプションを使用します。
-ni: インタラクティブなビルドを無効にします。
--c-compiler: クロスビルド・コンパイラーを指定します。コンパイラーのパスは、PATH 環境変数に設定されている必要があります。このオプションが省略されると、ビルドには GCC コンパイラーが使用されます。
--kernel-version: ターゲットシステムのカーネルバージョンを指定します。これは、ターゲットシステムの uname -r の出力、およびカーネルバージョンに応じて kernel-src-dir/include/generated/utsrelease.h または kernel-src-dir/include/linux/utsrelease.h の UTS_RELEASE と一致している必要があります。
--kernel-src-dir: カーネル・ソース・ディレクトリーを指定します。
--make-args: ビルドの引数を指定します。32 ビットのターゲットシステムには PLATFORM=x32 を使用します。また、64 ビットのターゲットシステムには PLATFORM=x32_64 を使用します。
--install-dir: ビルドが成功した後にドライバーとスクリプトをコピーする書き込み可能なディレクトリーへのパスを指定します。
スクリプトの使い方に関するヘルプを表示するには、./build-driver -h コマンドを使用します。
Open Build Service (OBS) を使用して RPM としてサンプリング・ドライバーをビルドするには:
ここでは、<install_dir>/sepdk/src ディレクトリーにある sepdk.spec ファイルを使用します。
リモート・ターゲット・システム要件: ssh、ftp、adb、sdb、またはその他の手段を使用してターゲットシステム向けにドライバーをビルドする場合、sepdk/src フォルダーまたは、--install-dir オプションで指定されるフォルダーをコピーします。
ドライバーをインストールするには:
ドライバーのビルドが成功したら、.insmod-sep スクリプトを使用して手動でインストールします。
> cd <install_dir>/sepdk/src
> ./insmod-sep -r -g <グループ>
ここで、<グループ> は、ドライバーへのアクセス権を持つユーザーのグループです。
ユーザーごとのイベントベース・サンプリング収集を行うようにビルドされたドライバーをインストールするには、-pu (-per-user) オプションを追加します。
> ./insmod-sep -g <グループ> -pu
リソースが制限された環境で実行する場合、-re オプションを追加します。
> ./insmod-sep -re
ブート時に Linux* システムが自動的にドライバーをロードするようにします。
> cd <install_dir>/sepdk/src
> ./boot-script --install -g <group>
ドライバーがビルドされた時のグループをオーバーライドする場合にのみ、-g <グループ> オプションが必要です。
Linux* システムからドライバーを削除するには:
./rmmod-sep -s