このドキュメントでは、仮想マシン(VM)インスタンスで有効になっているパフォーマンス モニタリング ユニット(PMU)のタイプを変更する方法、または VM で PMU を無効にする方法について説明します。
VM で PMU を有効にして VM でパフォーマンス モニタリング ソフトウェアを実行したら、次のことができます。
VM で有効になっている PMU タイプを変更する。これは、さまざまな種類の低レベルの CPU イベントを追跡する場合に便利です。
VM で PMU を無効にする。VM で PMU を無効にすると、PMU のパフォーマンス カウンタにアクセスする必要がなくなった場合に便利です。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud のサービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
VM を更新する: VM に対する
compute.instances.update
VM で有効になっている PMU タイプを確認するには、
performanceMonitoringUnit
フィールドの値を確認します。拡張 PMU タイプを有効にするには、
machineType
フィールドの値を確認して、VM が 96 個または 192 個の vCPU を持つ C4 マシンタイプを使用していることを確認します。そうでない場合は、VM のマシンタイプを変更します。空の YAML ファイルを作成します。
作成したばかりの YAML ファイルに VM のプロパティをエクスポートするには、
gcloud compute instances export
コマンドを使用します。gcloud compute instances export VM_NAME \ --destination=YAML_FILE \ --zone=ZONE
次のように置き換えます。
VM_NAME
: VM の名前。YAML_FILE
: 前の手順で作成した YAML ファイルのパス。ZONE
: VM が配置されているゾーン。
YAML 構成ファイルで
performanceMonitoringUnit
フィールドを見つけ、その値を変更して別の PMU タイプを指定します。advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPE
PMU_TYPE
は次のいずれかの値に置き換えます。アーキテクチャの PMU タイプ:
ARCHITECTURAL
標準の PMU タイプ:
STANDARD
拡張 PMU タイプ:
ENHANCED
VM を更新して再起動するには、
--most-disruptive-allowed-action
フラグをRESTART
に設定してgcloud compute instances update-from-file
コマンドを使用します。gcloud compute instances update-from-file VM_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONE
次のように置き換えます。
VM_NAME
: VM の名前。YAML_FILE
: 前の手順で変更した構成データを含む YAML ファイルのパス。ZONE
: VM が配置されているゾーン。
空の JSON ファイルを作成します。
既存の VM のプロパティを表示するには、
instances.get
メソッドにGET
リクエストを送信します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
次のように置き換えます。
PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM_NAME
: 既存の VM の名前。
前の手順で作成した空の JSON ファイルで、次の操作を行います。
GET
リクエストの出力から VM プロパティを入力します。performanceMonitoringUnit
フィールドを見つけて、値を変更して別の PMU タイプを指定します。"advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }
PMU_TYPE
は次のいずれかの値に置き換えます。アーキテクチャの PMU タイプ:
ARCHITECTURAL
標準の PMU タイプ:
STANDARD
拡張 PMU タイプ:
ENHANCED
VM を更新して再起動するには、
instances.update
メソッドにPUT
リクエストを送信します。リクエストで、次の操作を行います。リクエスト URL に、
RESTART
に設定されたmost_disruptive_allowed_action
クエリ パラメータを含めます。リクエスト本文には、前の手順で作成して更新した JSON ファイルの VM プロパティを使用します。
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART { "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }
空の YAML ファイルを作成します。
作成したばかりの YAML ファイルに VM のプロパティをエクスポートするには、
gcloud compute instances export
コマンドを使用します。gcloud compute instances export VM_NAME \ --destination=YAML_FILE \ --zone=ZONE
次のように置き換えます。
VM_NAME
: VM の名前。YAML_FILE
: 前の手順で作成した YAML ファイルのパス。ZONE
: VM が配置されているゾーン。
YAML 構成ファイルで
performanceMonitoringUnit
フィールドを見つけ、その値をNONE
に設定します。advancedMachineFeatures: performanceMonitoringUnit: NONE
VM を更新して再起動するには、
--most-disruptive-allowed-action
フラグをRESTART
に設定してgcloud compute instances update-from-file
コマンドを使用します。gcloud compute instances update-from-file VM_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONE
次のように置き換えます。
VM_NAME
: VM の名前。YAML_FILE
: 前の手順で変更した構成データを含む YAML ファイルのパス。ZONE
: VM が配置されているゾーン。
空の JSON ファイルを作成します。
既存の VM のプロパティを表示するには、
instances.get
メソッドにGET
リクエストを送信します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
次のように置き換えます。
PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM_NAME
: 既存の VM の名前。
前の手順で作成した空の JSON ファイルで、次の操作を行います。
GET
リクエストの出力から VM プロパティを入力します。performanceMonitoringUnit
フィールドを見つけて、その値をNONE
に変更します。"advancedMachineFeatures": { "performanceMonitoringUnit": "NONE" }
VM を更新して再起動するには、
instances.update
メソッドにPUT
リクエストを送信します。リクエストで、次の操作を行います。リクエスト URL に、
RESTART
に設定されたmost_disruptive_allowed_action
クエリ パラメータを含めます。リクエスト本文には、前の手順で作成して更新した JSON ファイルの VM プロパティを使用します。
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART { "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }
- コアあたりのスレッド数を設定する方法を確認する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
VM で有効になっている PMU タイプを変更または無効にするために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1) (
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。この事前定義ロールには、VM で有効になっている PMU タイプを変更または無効にするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
VM で有効になっている PMU タイプを変更または無効にするには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
VM で PMU タイプを変更する
既存の VM で有効になっている PMU タイプを変更する前に、Google Cloud CLI または REST を使用して VM の詳細を表示します。コマンドまたは API リクエストの出力で、次のことを確認します。
VM で有効になっている PMU タイプを変更するために VM を停止する必要はありません。ただし、変更を有効にするには、このセクションで説明するように VM を再起動する必要があります。
既存の VM で有効になっている PMU タイプを変更するには、次のいずれかのオプションを選択します。
gcloud
REST
VM のプロパティの更新の詳細については、VM プロパティを更新するをご覧ください。
VM で PMU を無効にする
PMU を無効にするために VM を停止する必要はありません。ただし、変更を有効にするには、このセクションで説明するように VM を再起動する必要があります。
既存の VM で PMU を無効にするには、次のいずれかのオプションを選択します。
gcloud
REST
VM のプロパティの更新の詳細については、VM プロパティを更新するをご覧ください。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-