パフォーマンス・モニタリング・ユニット (PMU) 対応の Google Cloud* 仮想マシンでのアプリケーションのプロファイル

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

この記事は、インテルのウェブサイトに公開されている「Intel® VTune™ Profiler Performance Analysis Cookbook」の「Profiling Applications in Performance Monitoring Unit (PMU)-Enabled Google Cloud* Virtual Machines」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


このレシピでは、Google Cloud Platform* で仮想マシン (VM) インスタンスを設定し、インテル® VTune™ プロファイラーを使用してアプリケーション・パフォーマンスをプロファイルする方法を紹介します。

使用するもの

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

  • アプリケーション: 任意のアプリケーションを使用できます。
  • ツール: インテル® VTune™ プロファイラー 2024 以降のホットスポット解析

準備

  • インテル® VTune™ プロファイラーをマシンにインストールするシステム要件 (英語) を理解します。システムには、少なくとも 4GB RAM と 10GB の空きディスク容量が必要です。

  • さまざまな Google Cloud* 仮想マシン (VM) で使用できるインテル® VTune™ プロファイラーの機能 (英語) を確認します。

  • VM インスタンスが SSH (ポート 22) 経由の接続をサポートできることを確認します。

  • データを収集して結果を保持するため、ルートボリュームには少なくとも 10GB の空き容量が必要です。

VM インスタンスの作成と設定

VM を設定します。Google Cloud* ウェブサイトの手順に従ってください。

VM インスタンスのプロファイル設定

汎用 C4 タイプの VM では、デフォルトで PMU が有効になりません。Google GUI コンソールで PMU を有効にすることはできませんが、代わりにコマンドラインを使用できます。PMU を設定にするには、「VM で PMU を有効にする」 (英語) の手順に従ってください。

例えば、次の gcloud create コマンドは、拡張モードで PMU を有効にします。

gcloud compute instances create c4pmu
--machine-type=c4-standard-96
--performance-monitoring-unit=enhanced --zone=us-central1-b
--create-disk=auto-delete=yes,boot=yes,device-name=instance-20240912-163331,image=projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20240830,mode=rw,provisioned-iops=3060,provisioned-throughput=155,size=50,type=hyperdisk-balanced

インテル® VTune™ プロファイラーの機能を最大限に活用するには、VM で利用可能な最高レベルの PMU アクセスを選択します。

プロファイル向けにターゲット VM を準備する

  • ユーザーモード・サンプリング収集の場合、/proc/sys/kernel/yama/ptrace_scope を 0 に設定します。

    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
  • ハードウェア・イベントベース・サンプリング収集の場合、/proc/sys/kernel/perf_event_paranoid を 0 に設定します。

    echo 0 | sudo tee /proc/sys/kernel/perf_event_paranoid

ドライバーを使用しないプロファイルについては、「インテルのサンプリング・ドライバーを使用しないハードウェアのプロファイル」を参照してください。

ホットスポット解析の実行

次のいずれかの方法でサンプル・プロジェクトを実行します。

  • SSH を使用して、ローカルにインストールされているインテル® VTune™ プロファイラーからリモート収集を実行します。

  • Google Cloud* VM から直接インテル® VTune™ プロファイラーを実行します。

  • Google Cloud* VM 上でインテル® VTune™ プロファイラーをウェブサービスとして実行します。

SSH を使用して、ローカルにインストールされているインテル® VTune™ プロファイラーからリモート収集を実行する

  1. インテル® VTune™ プロファイラーでプロジェクトを作成します。

  2. [Configure Analysis (解析の設定)] ウィンドウの [WHERE (どこを)] ペインで [Remote Linux (SSH) (リモート Linux* (SSH))] を選択します。

  3. インスタンスのパブリック IPv4 DNS アドレスを特定します。

  4. [SSH destination (SSH 接続先)] フィールドに <VM ユーザー>@<VM のパブリック IPv4> を入力します。

    インテル® VTune™ プロファイラーは、データ収集に必要なバイナリーがインストールされていることを確認するため、リモートシステムへの接続を試みます。

    パスワードを入力するコマンドウィンドウが開きます。インテル® VTune™ プロファイラーは、独自の SSH キーを作成して <ユーザー ホーム>/.ssh に保存します。その後、SSH キーは VM インスタンスの authorized_keys ファイルにコピーされます。

  5. ターゲットシステムで製品が見つからないというメッセージが表示された場合は、[Deploy (デプロイ)] をクリックしてインストールします。

  6. [WHAT (何を)] ペインでは、アプリケーションの場所と作業ディレクトリーを指定します。

  7. [HOW (どのように)] ペインでは、[Hardware Event-Based Sampling (ハードウェア・イベントベース・サンプリング)] 収集を使用する [Hotspots (ホットスポット)] 解析を選択します。

  8. をクリックして収集を開始します。

解析が完了すると、インテル® VTune™ プロファイラーは結果をローカルシステムにコピーします。

Google Cloud* VM から直接インテル® VTune™ プロファイラーを実行する:

  1. インテル® VTune™ プロファイラーをインストールします。インストールの情報は、こちら (英語) を参照してください。

  2. インテル® VTune™ プロファイラーを実行します。

    sudo <vtune_install_dir>/vtune_profiler/bin64/vtune-gui
  3. プロジェクトを作成します。

  4. [Configure Analysis (解析の設定)] ウィンドウで以下の操作を行います。

    • [WHERE (どこを)] ペインでは、[Local Host (ローカルホスト)] ターゲット・システム・タイプを選択します。

    • [WHAT (何を)] ペインでは、アプリケーションの場所と作業ディレクトリーを指定します。

    • [HOW (どのように)] ペインでは、ホットスポット解析の優先収集モード (例: [Hardware Event-Based Sampling (ハードウェア・イベントベース・サンプリング)]) を選択します。

  5. をクリックして収集を開始します。

解析結果が [Hotspots by CPU Utilization (CPU 利用率別ホットスポット)] ビューポイントに表示されます。

Google Cloud* VM 上でインテル® VTune™ プロファイラーをウェブサービスとして実行する:

  1. VM ファイアウォールが 8080 ポートへの接続を許可するように構成されていることを確認します。ファイアウォールの詳細については、こちらを参照してください。

  2. Google Cloud* VM 上にインテル® VTune™ プロファイラーをインストールします。インストールの情報は、こちら (英語) を参照してください。

  3. インテル® VTune™ プロファイラーをウェブサービスとして実行します。

    <vtune_install_dir>/latest/bin64/vtune-backend –-allow-remote-access –-enable-server-profiling –-web-port=8080

    vtune-backend コマンドは、インスタンスのプライベート IP とワンタイムトークンを含む URL を返します。

  4. プライベート IP をインスタンスのパブリック IP または DNS に置き換えます。

    例えば、https://10.128.0.18:8080/?one-time-token=b8cafc89721e781161aba4ddcef5a718https://18.236.194.236:8080/?one-time-token=b8cafc89721e781161aba4ddcef5a718 にします。

  5. URL をブラウザーにコピーします。

    注:
    ブラウザーによって、URL が安全でないことを示す警告が表示される場合があります。これは、ウェブサービスが正式に署名された証明書ではなく、自己署名証明書を使用しているためです。

  6. プロンプトでパスフレーズを作成し、インテル® VTune™ プロファイラーの GUI に進みます。

  7. [Configure Analysis (解析の設定)] ウィンドウで以下の操作を行います。

    • [WHERE (どこを)] ペインでは、[Local Host (ローカルホスト)] ターゲット・システム・タイプを選択します。

    • [WHAT (何を)] ペインでは、アプリケーションの場所と作業ディレクトリーを指定します。

    • [HOW (どのように)] ペインでは、ホットスポット解析の優先収集モード (例: [Hardware Event-Based Sampling (ハードウェア・イベントベース・サンプリング)]) を選択します。

  8. をクリックして収集を開始します。

解析結果が [Hotspots by CPU Utilization (CPU 利用率別ホットスポット)] ビューポイントに表示されます。

関連情報

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

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