インテル® VTune™ プロファイラー・ユーザーガイド
[解析の設定] ウィンドウに表示されるターゲット固有の解析オプションを使用して、ターゲットの解析を管理します。
ターゲット設定オプションは次の操作で開きます。
[解析の設定] ウィンドウを開きます。
[どこを] ペインでターゲットシステムを選択します。
[何を] ペインでターゲットタイプを選択して、次のようにオプションを設定します。
現在のホストからアクセスできないターゲット向けのコマンドライン設定を生成するには、[どこを] ペインで [任意のホスト] ターゲットシステムを選択します。ターゲットで実行されるオペレーティング・システムを選択します。Windows* または GNU*/Linux* とハードウェア・プラットフォーム。
ターゲットオプションは、選択するターゲットシステムとターゲットのタイプ (アプリケーションを起動、Android* パッケージを起動、プロセスにアタッチ、またはシステムをプロファイル) によって異なります。
操作 |
説明 |
---|---|
[Visual Studio* プロジェクトから設定を引き継ぐ] チェックボックス (Visual Studio* IDE でのみサポート) |
Visual Studio* IDE で開いているプロジェクトと設定を、ターゲットの設定として引き継ぐかどうか指定します。このチェックボックスをオンにすると、他のターゲット設定を編集できなくなります。 |
[環境変数から設定を引き継ぐ] チェックボックス |
システムとユーザー環境変数を継承してマージします。それ以外は、ユーザー変数のみが設定されます。 |
アプリケーションを起動オプション |
|
[アプリケーション] フィールド |
解析するアプリケーション (バイナリーまたはスクリプト) のフルパスを指定します。 |
[アプリケーションの引数] フィールド |
アプリケーションの引数を指定します。 |
[アプリケーション・ディレクトリーを作業ディレクトリーとして使用] チェックボックス |
作業ディレクトリーとアプリケーション・ディレクトリーを自動で一致させます (デフォルトで有効)。アプリケーション・ディレクトリーは、アプリケーションが置かれるディレクトリーです。例えば、Linux* アプリケーション /home/foo/bar では、アプリケーション・ディレクトリーは /home/foo となります。アプリケーション・ファイルが 1 つのディレクトリーにあり、異なるディレクトリー (作業ディレクトリー) から起動する必要がある場合、アプリケーション・ディレクトリーと作業ディレクトリーは異なる場合があります。 |
[作業ディレクトリー] フィールド |
解析ターゲットを起動するディレクトリーを指定します。デフォルトでは、アプリケーション・ディレクトリーと同一です。 |
[プロセスにアタッチ] オプション |
|
[プロジェクト名] フィールド |
解析する実行可能ファイルを名称で識別します。 |
[PID] フィールド |
解析する実行可能ファイルをプロセス ID (PID) で識別します。 [選択] ボタンをクリックして、アタッチ可能なプロセスの一覧を表示します。注目するプロセスを選択すると、インテル® VTune™ プロファイラーは自動でプロセス名フィールドに選択したプロセスのデータを入力します。 |
[Android* パッケージを起動] オプション |
|
[パッケージ名] フィールド |
解析する Android* パッケージ名 (*.apk) を指定します。 解析対象のデバイスにインストールされている Android* アプリケーションや対応するパッケージ (*.apk) を表示するには、[選択] ボタンをクリックします。対応するチェックボックスを選択して、デバッグ可能な APK のみを表示できます。 注非ルートデバイスでパフォーマンス解析を行うため、デバッグ可能属性を true (android:debuggable="true") に設定して Android* アプリケーションをコンパイルします。最適化を有効にするには、Application.mk で APP_OPTIM が release に設定されていることを確認してくだい。 |
[任意のホスト] オプション |
|
[MPI ランチャーを使用] チェックボックス |
MPI 解析向けのコマンドライン設定を生成するには、チェックボックスをオンにします。次の MPI 解析オプションを設定します。
|
ターゲットの詳細を設定するには、[高度] セクションを使用します。
操作 |
説明 |
---|---|
[ユーザー定義環境変数] フィールド |
アプリケーションの実行に必要な環境変数を指定します。 |
[マネージドコードのプロファイル・モード] メニュー |
マネージドコードのプロファイル・モードを選択します。[マネージド] モードは、マネージドソースにデータを属性化し、マネージド領域のみを収集します。[ネイティブ] モードは、すべてのデータを収集しますがデータをマネージドソースに分類しません。[ミックス] モードは、必要に応じてすべてのデータを収集して、マネージドソースにデータを関連付けます。 |
指定時間後に収集を自動再開 (秒) |
データ収集が再開されるまでの経過時間を指定します。このオプションが使用されると、収集は自動的にポーズモードで開始されます。 |
指定時間後に収集を自動停止 (秒) |
ターゲットを実行してからデータを収集する持続時間を秒単位で設定します。これは、解析結果から前処理などを除外する際に役立ちます。 |
[子プロセスを解析] チェックボックス |
ターゲットプロセスによって起動されたプロセスのデータを収集します。スクリプトから起動されるアプリケーションをプロファイル際にこのオプションを使用します。 このオプションを選択すると、解析する子プロセスを指定するプロセスごとの設定が有効になります。例えば、ターゲット・アプリケーションがシェルを呼び出したりプロセスを生成する場合、それらを解析から除外して、開発したプロセスのみを対象とすることができます。 デフォルトプロセス設定は、すべてのプロセスを解析する方法を表します。この行は削除できませんがカスタマイズできます。選択に応じて、データ収集に固有のプロセス (セルフ値) と、それらが生成する子プロセス (子 の値) を含めるか除外するかを選択できます。 このオプションは、ハードウェア・イベントベース・サンプリング・タイプには適用できません。 |
[持続時間の推測] メニュー |
注このオプションは古いオプションです。代わりに、[どのように] 設定ペインの [CPU サンプリング間隔] オプションを使用します。 アプリケーションの持続時間を推測します。この値は収集されるデータのサイズに影響します。実行時間が長いターゲットでは、結果サイズを減らすためサンプリング間隔が広がります。ハードウェア・イベントベース・サンプリング解析タイプでは、インテル® VTune™ プロファイラーはこの予測を基に設定された SAV (サンプリング間隔値) に乗数を適用します。 |
[複数実行を許可] チェックボックス |
ハードウェア・イベントベース収集でより正確な結果を取得するため、複数実行を有効にします。無効にすると、コレクターは単一のイベント収集を多重化するため、結果の正確性は低くなります。 |
[システム全体を解析] チェックボックス |
システム上で実行されるすべてのプロセスの解析を有効にします。無効にすると、ターゲットプロセスのみ解析されます。 このオプションは、ハードウェア・イベントベース解析タイプにのみ適用できます。 |
[収集するデータを制限] セクション |
生データの収集量が非常に多く処理に時間がかかる場合、次のオプションにより収集するデータサイズを制限します。
注結果ディレクトリーに保存されるデータサイズは、次の理由により、指定する結果サイズと一致しないことがあります。
|
[CPU マスク] フィールド |
データを収集する CPU を指定します (例: 2-8,10,12-14)。このオプションは、ハードウェア・イベントベース解析タイプでのみ適用できます。 |
[カスタムコレクター] フィールド |
外部収集ツールを起動するコマンドラインを提供します。後で CSV 形式で、カスタム収集データ (時間間隔とカウンター) をインテル® VTune™ プロファイラーの結果にインポートできます。 |
[ファイナライズ・モードの選択] セクション |
ファイナライズは多くのシステムリソースを必要とします。処理能力が高いターゲットシステムでは、完全モードを選択して収集後即座に適用します。それ以外では、高速モードを選択してファイナライズを短縮するか、別のシステムで実行するため延期します (チェックサムのみを計算)。 |
結果の場所オプション |
結果ファイルを保存する場所を選択します。デフォルトでは、結果はプロジェクト・ディレクトリーに保存されます。 |
[MPI トレース] チェックボックス (Linux* ターゲットのみ) |
MPI コードを追跡するためコレクターを設定し、インテル以外の MPI ライブラリー実装の MPI ランク ID を調査します。 |
[KVM ゲスト OS の解析] チェックボックス (Linux* ターゲットのみ) |
KVM ゲストシステムのプロファイルを有効にします。カーネルシンボルを正しく解決するため、以下の設定を行います。
|
[Android* デバイス] オプション |
|
[未接続デバイスを解析] チェックボックス |
未接続デバイスの収集を有効にして、結果への ADB 接続と電源を影響を除外します。このオプションを使用する場合、ホストから解析を設定して起動しますが、データ収集は USB ケーブルやネットワークからデバイスが切断された後に始まります。収集結果は、デバイスが再接続されると自動的にホストへ転送されます。 |
[任意のホスト] オプション |
|
[結果をファイナライズするシステムを選択] オプション |
結果は、解析を実行したターゲットシステム上でファイナライズできます (デフォルト)。この場合、ターゲットシステムがファイナライズを行うのに十分なパフォーマンスがあることを確認してください。別のシステム上でファイナライズを行うことを選択した場合、インテル® VTune™ プロファイラーは異なるシステム上でバイナリーのあいまい性を回避するためモジュールのチェックサムのみを計算します。 |
インテル® VTune™ プロファイラーには、Windows* サービスのプロファイルに制限があります。詳細については、Windows* サービスのプロファイル (英語) のオンライン記事をご覧ください。
システム全体のプロファイルは、ユーザーモード・サンプリングとトレース収集ではサポートされません。
ドライバーを使用しないイベントベースのサンプリングによるデータ収集向けに、インテル® VTune™ プロファイラーはローカルとリモートのアプリケーション起動、プロセスをアタッチ、およびシステム全体のプロファイル・ターゲットタイプをサポートしますが、これらのサポートは /proc/sys/kernel/perf_event_paranoid ファイルで指定される Linux* Perf プロファイルの資格情報に依存し、root 認証情報によりシステムの管理者が管理します。perf_event に関連する設定ファイルのトピックの詳細は、http://man7.org/linux/man-pages/man2/perf_event_open.2.html をご覧ください。デフォルトでは、ユーザープロセスのみがユーザーとカーネル空間両方のプロファイルを許可されるので、[システムをプロファイル] ターゲットタイプを適用するには、perf_event_paranoid ファイルでより広範囲の資格情報を与える必要があります。
[どのように] ペインで、指定したターゲットタイプに適用可能な解析タイプを選択し、[開始] ボタンをクリックして解析を実行します。
現在のホストからアクセス可能なターゲットでのみ解析を起動できます。任意のターゲットを選択した場合は、コマンドライン設定を生成してバッファーに保存し、後で意図するホスト上で起動することができます。