この記事は、インテル® デベロッパー・ゾーンに公開されている「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™ プロファイラーの内部ジェネレーターを使用して生成します。
- 次のコードを含む 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')
- コマンドウィンドウで次のコマンドを実行します。
VTUNE_INSTALL_DIR\bin64\amplxe-python generator.py USER@HOSTNAME
現在のディレクトリーにプライベート・キーとパブリックキーが生成されます。
プロキシーサーバーを介して Windows* ホストでインテル® VTune™ プロファイラーを実行する
- 以下のキーをホストシステムの %USERPROFILE%\.ssh ディレクトリーにコピーします。
- id_rsa_vtune_USER@HOSTNAME
- id_rsa_vtune_USER@HOSTNAME.pub
- パブリックキーの内容をターゲットシステムの ~/.ssh/authorized_keys と ~ (USER ホーム・ディレクトリー) に追加します。
- プロキシーサーバーを介したリモート接続のために、Windows* ホストにサードパーティー製の Ncat ユーティリティーをインストールします。これは https://nmap.org/ncat (英語) からダウンロードできます。
- 次の行を含む %USERPROFILE%\.ssh\config を作成します。
Host HOSTNAME ProxyCommand “PATH\TO\NCAT\ncat.exe” --proxy-type <TYPE> --proxy <PROXYADDR[:PORT]> %h %p
説明:
- TYPE は、プロキシーサーバーのタイプ。
- PROXYADDR は、プロキシーサーバーのアドレス。
- PORT は、ポート番号。
- 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)"
- 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
- パブリックキーの内容をターゲットシステムの ~/.ssh/authorized_keys と ~ (USER ホーム・ディレクトリー) に追加します。
- まだホストシステムにインストールされていない場合は、プロキシーを介したリモート接続のために、サードパーティー製の Ncat または Netcat ユーティリティーをダウンロードしてホストにインストールします。これは以下のサイトからダウンロードできます。
- 次の行を含む ~/.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 は、ポート番号。
- uname コマンドで接続を確認します。
ssh USER@HOSTNAME uname
これで、Linux* または macOS* ホストでインテル® VTune™ プロファイラーを実行してリモートターゲットをプロファイルできます。
関連情報
リモート解析向けに Linux* システムを設定 (英語)
リモート収集向けに SSH アクセスを設定 (英語)
インテル® VTune™ プロファイラー・パフォーマンス解析クックブックのトップに戻る
製品とパフォーマンス情報
1実際の性能は利用法、構成、その他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex (英語) を参照してください。