[解析の設定] ウィンドウに表示されるターゲット固有の解析オプションを使用して、ターゲットの解析を管理します。
ターゲット設定オプションにアクセスするには、次の操作を行います。
[解析の設定] ウィンドウを開きます。
[どこを] ペインでターゲットシステムを選択します。
[何を] ペインでターゲットタイプを選択して、次のようにオプションを設定します。
現在のホストからアクセスできないターゲット向けのコマンドライン設定を生成するには、[どこを] ペインで [任意のホスト] ターゲットシステムを選択します。ターゲットで実行されるオペレーティング・システム (Windows* または GNU*/Linux*) とハードウェア・プラットフォームを選択します。
ターゲットオプションは、選択するターゲットシステムとターゲットのタイプ ([アプリケーションを起動]、[Android* パッケージを起動]、[プロセスにアタッチ]、または [システムをプロファイル]) によって異なります。
操作 |
説明 |
---|---|
[Visual Studio* プロジェクトから設定を引き継ぐ] チェックボックス (Visual Studio* IDE でのみサポート) |
Visual Studio* IDE で開いているプロジェクトと設定を、ターゲットの設定として引き継ぐかどうか指定します。このチェックボックスをオンにすると、ほかのターゲット設定を編集できなくなります。 |
[システム環境変数を引き継ぐ] チェックボックス |
システムとユーザー定義環境変数を継承してマージします。オフの場合、ユーザー定義変数のみが設定されます。 |
[アプリケーションを起動] オプション |
|
[アプリケーション] フィールド |
解析するアプリケーション (バイナリーまたはスクリプト) のフルパスを指定します。 |
[アプリケーションの引数] フィールド |
アプリケーションの引数を指定します。 |
[アプリケーション・ディレクトリーを作業ディレクトリーとして使用] チェックボックス |
作業ディレクトリーとアプリケーション・ディレクトリーを自動で一致させます (デフォルトで有効)。アプリケーション・ディレクトリーは、アプリケーションが配置されるディレクトリーです。例えば、Linux* アプリケーション /home/foo/bar では、アプリケーション・ディレクトリーは /home/foo です。アプリケーション・ファイルはあるディレクトリーにあり、別のディレクトリー (作業ディレクトリー) から起動する必要がある場合、アプリケーション・ディレクトリーと作業ディレクトリーは異なる場合があります。 |
[作業ディレクトリー] フィールド |
解析ターゲットを起動するディレクトリーを指定します。デフォルトでは、アプリケーション・ディレクトリーと同一です。 |
[プロセスにアタッチ] オプション |
|
[プロセス名] フィールド |
解析する実行可能ファイルを名称で識別します。 |
[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™ プロファイラーの結果にインポートできます。 |
[ファイナライズ・モードの選択] セクション |
ファイナライズは多くのシステムリソースを必要とします。処理能力が高いターゲットシステムでは、[完全] モードを選択して収集後即座に適用します。それ以外では、[高速] モードを選択してファイナライズを短縮するか、別のシステムで実行するため延期します (チェックサムのみを計算)。 |
[ラッパースクリプト] フィールド |
収集を開始する前に、ターゲットシステムで起動するスクリプトを用意します。ホストシステムでは、ターゲット環境を準備し、インテル® VTune™ プロファイラーのコレクターを呼び出すカスタムスクリプトを準備できます。 ラッパースクリプトの例を示します。 #!/bin/bash # 事前スクリプト echo "Target process PID: $VTUNE_TARGET_PID" # インテル® VTune™ プロファイラーのコレクターを実行 "$@" # 事後スクリプト ls -la $VTUNE_RESULT_DIR スクリプトからターゲット・オペレーティング・システムの CLI を介してアクションを実行し、"$@" または "$*" を使用してすべての引数をスクリプトに渡し、インテル® VTune™ プロファイラーを開始できます。 スクリプトでは、次の環境変数を使用できます。 VTUNE_TARGET_PID VTUNE_TARGER_PROC_NAME VTUNE_RESULT_DIR VTUNE_TEMP_DIR VTUNE_TARGET_PACKAGE_DIR VTUNE_DATA_DIR VTUNE_USER_DATA_DIR 注
|
[結果の場所] オプション |
結果ファイルを保存する場所を選択します。デフォルトでは、結果はプロジェクト・ディレクトリーに保存されます。 |
[MPI トレース] チェックボックス (Linux* ターゲットのみ) |
MPI コードを追跡するためコレクターを設定し、インテル以外の MPI ライブラリー実装の MPI ランク ID を調査します。 |
[KVM ゲスト OS の解析] チェックボックス (Linux* ターゲットのみ) |
KVM ゲストシステムのプロファイルを有効にします。カーネルシンボルを正しく解決するため、以下の設定を行います。
|
[Android* デバイス] オプション |
|
[未接続デバイスを解析] チェックボックス |
未接続デバイスの収集を有効にして、結果への ADB 接続と電源の影響を除外します。このオプションを使用する場合、ホストから解析を設定して起動しますが、データ収集は USB ケーブルやネットワークからデバイスが切断された後に始まります。収集結果は、デバイスが再接続されると自動的にホストへ転送されます。 |
[任意のホスト] オプション |
|
[結果をファイナライズするシステムを選択] オプション |
結果は、解析を実行したターゲットシステム上でファイナライズできます (デフォルト)。この場合、ターゲットシステムがファイナライズを行うのに十分な性能を備えていることを確認してください。別のシステムでファイナライズを実行することを選択した場合、インテル® VTune™ プロファイラーは異なるシステムでのバイナリーのあいまい性を回避するためモジュールのチェックサムのみを計算します。 |
インテル® VTune™ プロファイラーの Windows* サービスのプロファイルには制限があります。詳細は、オンライン記事「Windows* サービスのプロファイル」(http://software.intel.com/EN-US/ARTICLES/PROFILING-WINDOWS-SERVICE) を参照してください。
システムをプロファイルは、ユーザーモード・サンプリングとトレース収集ではサポートされません。
ドライバーを使用しないイベントベースのサンプリングによるデータ収集向けに、インテル® VTune™ プロファイラーはローカルとリモートの [アプリケーション起動]、[プロセスをアタッチ]、および [システム全体のプロファイル] ターゲットタイプをサポートしますが、これらの完全なサポートは /proc/sys/kernel/perf_event_paranoid ファイルで指定される Linux* の Perf* プロファイルの資格情報に依存し、root 特権を使用してシステムの管理者によって管理されます。詳細は、http://man7.org/linux/man-pages/man2/perf_event_open.2.html (英語) の「perf_event に関連する設定ファイル」トピックを参照してください。デフォルトでは、ユーザープロセスのみがユーザーとカーネル空間両方のプロファイルを許可されるので、プロファイル・システムのターゲットタイプを適用するため、perf_event_paranoid ファイルでより広範囲のプロファイル権限を与える必要があります。
[どのように] ペインで、指定したターゲットタイプに適用可能な解析タイプを選択し、[開始] ボタンをクリックして解析を実行します。
現在のホストからアクセス可能なターゲットでのみ解析を起動できます。任意のターゲットでは、コマンドライン設定を生成してバッファーに保存し、後で意図するホスト上で起動することのみが可能です。