インテル® VTune™ プロファイラーは、コマンドライン・インターフェイス (vtunel) を利用して、ホストシステムからリモート・アプリケーションのデータを収集し (Linux* リモートシステムのリモート・パフォーマンス解析ワークフロー)、解析結果を GUI でローカルに表示できます。ホスト上で動作する vtune コマンドを使用するリモートデータ収集は、target-system オプションがコマンドラインに追加される点を除き、ターゲット上でのネイティブ収集と同じです。
必要条件:
インテル® VTune™ プロファイラーがローカルホストにインストールされていること。
ターゲット Linux* システムがリモート解析向けに設定されている。
リモートシステムに応じて、インテル® VTune™ プロファイラーのリモート・ターゲット・パッケージ、または完全なコマンドライン・インターフェイス (vtune) のいずれかをインストールします。
ターゲットへのパスワードなしの SSH アクセスが設定されている。
推奨: ローカルとリモートマシンの両方から見える共有ドライブに解析ターゲットが配置されている。
ターゲット Linux* システムにインストールされているインテル® VTune™ プロファイラーの完全なコマンドライン・インターフェイスを使用して、リモートでデータを収集する場合、「コマンドライン解析の実行」トピックを参照してください。GUI で選択されている解析設定のコマンドラインを自動生成するには、インテル® VTune™ プロファイラーのグラフィカル・インターフェイスで [コマンドライン] オプションを使用します。「GUI からコマンドライン設定を生成」トピックの説明に従って、リモート収集向けに生成されたコマンドラインを編集します。
リモートの Linux* システムで解析を実行するには、次のコマンドライン構文を使用します。
host>./vtune -target-system=ssh:user@target <-action> <analysis_type> [<-knob> [knobName=knobValue]] [-target-tmp-dir=PATH] [-target-install-dir=PATH][--] <target>
ここで、
vtune -help <action> <analysis_type>
例 1: イベントベースのシステム全体のサンプリング収集
次のコマンドラインは、コールスタックなしでシステム全体のホットスポット解析情報を収集します。このコマンドは、デバイスからの結果を表示するのに必要なモジュールを自動的に読み込み、それらをホスト上の temp ディレクトリーにキャッシュします。これは最初の収集でのみ行われ、以降の収集ではキャッシュからモジュールが再利用されます。
host>./vtune -target-system=ssh:user1@172.16.254.1 –collect hotspots -knob sampling-mode=hw -duration 10
システム全体の収集では、収集中にシステムで実行されるモジュールがターゲットからホストにコピーされるため、時間がかかります。しかし、vtune は、以降の収集で高速にアクセスできるようにホスト上にターゲットシステムのモジュールをキャッシュするため、これは一度しか行われません。コマンドでデバイスからモジュールを取得したくない場合、モジュールを最初に検索する場所としてローカル・ディレクトリーを指定できます。次に例を示します。
host>./vtune -target-system=ssh:user1@172.16.254.1 –collect hotspots -knob sampling-mode=hw -duration 10 -search-dir /search/path
この場合、<PATH> にはモジュールが格納されているディレクトリー、またはターゲットデバイスのルート・ファイル・システムへのポインターを指定します。例えば、コレクターがターゲットデバイスの /usr/lib64/libstdc++.so.6.0.16 ファイルを検索する場合、最初に <PATH>/usr/lib64/libstdc++.so.6.0.16 を検索し、次に <PATH>/libstdc++.so.6.0.16 を検索し、その後ターゲットデバイスからファイルをコピーします。
例 2: イベントベース・サンプリング収集
この例は、PID を使用して実行中のアプリケーションに解析をアタッチする方法を示します。
host>./vtune -target-system=ssh:user1@172.16.254.1 –collect hotspots -knob sampling-mode=hw -target-pid 333
例 3: 高度なイベントベース・サンプリング収集
パフォーマンス・モニタリング・ユニット (PMU) によってサポートされるイベントを取得できます。さらに、一度に複数のイベントを収集することもできます。
次の例は、潜在的な待機時間、または応答性の問題を特定します。
host>./vtune -target=ssh:user1@172.16.254.1 -duration 10 -collect-with runsa -knob event-config='CPU_CLK_UNHALTED.REF:sa=20000'
このコマンドラインは、コンテキスト・スイッチのおよそ 2 倍のレートでサンプルを取得するため、パフォーマンスが約 20% 低下します。