プロキシーサーバーを介したリモートターゲットのプロファイル

インテル® VTune™ プロファイラー

この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® VTune™ Profiler Performance Analysis Cookbook」の「Profiling a Remote Target Through a Proxy Server」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


バージョン: 2020 (最終更新日: 2021 年 3 月 26 日)

このレシピは、プロキシーサーバーを介してインテル® VTune™ プロファイラーを実行し、リモートターゲットをプロファイルする方法を説明します。

コンテンツ・エキスパート: Kirill Uhanov (英語)

リモート・ターゲット・システムをプロファイルする必要がある場合、このレシピに従って、プロキシーサーバーを介してインテル® VTune™ プロファイラーを実行します。このレシピは、Windows*、Linux*、および macOS* システムのホスト設定について説明します。

使用するもの

以下は、パフォーマンス解析シナリオで使用するソフトウェアのリストです。

  • オペレーティング・システム: Windows*、Linux*、または macOS* システム。
  • ツール: インテル® VTune™ プロファイラー。

    • バージョン 2020 から、インテル® VTune™ Amplifier の名称がインテル® VTune™ プロファイラーに変わりました。
    • インテル® VTune™ プロファイラー・パフォーマンス解析クックブックのほとんどのレシピは、異なるバージョンのインテル® VTune™ プロファイラーにも適用できます。バージョンにより、わずかな調整が必要になる場合があります。
    • 最新バージョンのインテル® VTune™ プロファイラーは以下から入手できます。

Windows* ホスト設定

必要条件:

パスワードを使用しない SSH 接続用の RSA プライベート/パブリックキーがない場合は、以下の手順に従って、インテル® VTune™ プロファイラーの内部ジェネレーターを使用して生成します。

  1. 次のコードを含む generator.py という名前の Python* スクリプトを作成します。スクリプト中の USER は実際のユーザー名、HOSTNAME はターゲットマシン名にそれぞれ置き換えます。
    import sys
    import pythonhelpers1.genhelpers as genhelpers
    if len(sys.argv) < 2:
        print("Usage: amplxe-python generator.py USER@HOSTNAME")
        sys.exit(1)
    private_key = "id_rsa_vtune_" + str(sys.argv[1])
    genhelpers.ssh_keygen(private_key, private_key + '.pub')
    
  2. コマンドウィンドウで次のコマンドを実行します。
    VTUNE_INSTALL_DIR\bin64\amplxe-python generator.py USER@HOSTNAME
    

現在のディレクトリーにプライベート・キーとパブリックキーが生成されます。

プロキシーサーバーを介して Windows* ホストでインテル® VTune™ プロファイラーを実行する

  1. 以下のキーをホストシステムの %USERPROFILE%\.ssh ディレクトリーにコピーします。
    • id_rsa_vtune_USER@HOSTNAME
    • id_rsa_vtune_USER@HOSTNAME.pub
  2. パブリックキーの内容をターゲットシステムの ~/.ssh/authorized_keys~ (USER ホーム・ディレクトリー) に追加します。
  3. プロキシーサーバーを介したリモート接続のために、Windows* ホストにサードパーティー製の Ncat ユーティリティーをインストールします。これは https://nmap.org/ncat (英語) からダウンロードできます。
  4. 次の行を含む %USERPROFILE%\.ssh\config を作成します。
    Host HOSTNAME
        ProxyCommand “PATH\TO\NCAT\ncat.exe” --proxy-type <TYPE> --proxy <PROXYADDR[:PORT]> %h %p
    

    説明:

    • TYPE は、プロキシーサーバーのタイプ。
    • PROXYADDR は、プロキシーサーバーのアドレス。
    • PORT は、ポート番号。
  5. config とプライベート・キーの権限を変更します。
    icacls %USERPROFILE%\.ssh\id_rsa_vtune_USER@HOSTNAME /inheritance:r 
    icacls %USERPROFILE%\.ssh\id_rsa_vtune_USER@HOSTNAME /grant:r "%USERNAME%":"(R)"
    icacls %USERPROFILE%\.ssh\config /inheritance:r 
    icacls %USERPROFILE%\.ssh\config /grant:r "%USERNAME%":"(R)"
    
  6. uname コマンドで接続を確認します。
    VTUNE_INSTALL_DIR\bin64\ssh.exe -i "%USERPROFILE%\.ssh\id_rsa_vtune_USER@HOSTNAME" USER@HOSTNAME uname
    

これで、Windows* ホストでインテル® VTune™ プロファイラーを実行してリモートターゲットをプロファイルできます。

Linux*/macOS* ホスト設定

必要条件: パスワードを使用しない SSH 接続用の RSA プライベート/パブリックキーがない場合は、空のパスフレーズでこれらのキーを生成します。

host> ssh-keygen -t rsa
プロキシーサーバーを介して Linux*/macOS* ホストでインテル® VTune™ プロファイラーを実行する
  1. パブリックキーの内容をターゲットシステムの ~/.ssh/authorized_keys~ (USER ホーム・ディレクトリー) に追加します。
  2. まだホストシステムにインストールされていない場合は、プロキシーを介したリモート接続のために、サードパーティー製の Ncat または Netcat ユーティリティーをダウンロードしてホストにインストールします。これは以下のサイトからダウンロードできます。
  3. 次の行を含む ~/.ssh/config を作成します。nc オプションは使用するバージョンに依存します。
    Host HOSTNAME
        ProxyCommand nc -X <TYPE> –x <PROXYADDR[:PORT]> %h %p
    

    または

    Host HOSTNAME
        ProxyCommand nc --proxy-type <TYPE> --proxy <PROXYADDR[:PORT]> %h %p
    

    説明:

    • HOSTNAME は、ターゲットマシンの名前。
    • TYPE は、プロキシーサーバーのタイプ。
    • PROXYADDR は、プロキシーサーバーのアドレス。
    • PORT は、ポート番号。
  4. uname コマンドで接続を確認します。
    ssh USER@HOSTNAME uname
    

これで、Linux* または macOS* ホストでインテル® VTune™ プロファイラーを実行してリモートターゲットをプロファイルできます。

関連情報

リモート解析向けに Linux* システムを設定 (英語)
リモート収集向けに SSH アクセスを設定 (英語)

インテル® VTune™ プロファイラー・パフォーマンス解析クックブックのトップに戻る


製品とパフォーマンス情報

1実際の性能は利用法、構成、その他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex (英語) を参照してください。

タイトルとURLをコピーしました