本文說明如何在 A4X、C4A、C4 或 M4 Compute Engine 執行個體中啟用效能監控單元 (PMU)。啟用 PMU 後,您就能找出並解決應用程式瓶頸,進而最佳化效能敏感型工作負載,例如高效能運算 (HPC) 或機器學習 (ML)。
如要進一步瞭解在運算執行個體中啟用 PMU 時適用的規定和限制,請參閱 PMU 總覽。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
gcloud
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得在新或現有 Compute 執行個體中啟用 PMU 所需的權限,請要求管理員授予您專案的「Compute 執行個體管理員 (v1) 」(
roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。這個預先定義的角色具備在新或現有運算執行個體中啟用 PMU 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要在新的或現有的運算執行個體中啟用 PMU,您必須具備下列權限:
-
如要建立運算執行個體,請按照下列步驟操作:
- 專案的
compute.instances.create權限 - 如要使用自訂映像檔建立 VM,請按一下映像檔上的
compute.images.useReadOnly。 - 如要使用快照建立 VM,請按一下快照上的
compute.snapshots.useReadOnly - 如要使用執行個體範本建立 VM,請按一下執行個體範本上的
compute.instanceTemplates.useReadOnly - 如要將舊版網路指派給 VM:專案的
compute.networks.use權限 - 如要為 VM 指定靜態 IP 位址:專案的
compute.addresses.use權限 - 使用舊版網路時,將外部 IP 位址指派給 VM:專案的
compute.networks.useExternalIp權限 - 為 VM 指定子網路:專案或所選子網路的
compute.subnetworks.use - 使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM,請在專案或所選子網路上擁有
compute.subnetworks.useExternalIp權限 - 如要為專案中的 VM 設定 VM 執行個體中繼資料,請執行下列指令:
compute.instances.setMetadata - 如要為 VM 設定標記,請在 VM 上執行
compute.instances.setTags - 如要為 VM 設定標籤,請在 VM 上執行下列步驟:
compute.instances.setLabels - 如要設定 VM 使用的服務帳戶,請在 VM 上執行
compute.instances.setServiceAccount - 如要為 VM 建立新磁碟,請取得專案的
compute.disks.create權限 - 如要以唯讀或讀寫模式連結現有磁碟:磁碟的
compute.disks.use權限 - 如要以唯讀模式連接現有磁碟,請對磁碟擁有
compute.disks.useReadOnly權限
- 專案的
-
如要建立執行個體範本:
按一下專案的
compute.instanceTemplates.create -
如要更新運算執行個體:
compute.instances.update運算執行個體
在運算執行個體中啟用 PMU
如要在一個或多個運算執行個體中啟用 PMU,請使用下列其中一種方法:
在一或多個運算執行個體中啟用 PMU 後,您可以在運算執行個體上安裝及使用效能監控軟體。
在現有運算執行個體中啟用 PMU
在現有運算執行個體中啟用 PMU 前,請先確認運算執行個體使用支援的機器系列和 CPU 平台。如要驗證運算執行個體使用的機器系列和 CPU 平台,請查看運算執行個體的詳細資料。
如果運算執行個體使用的機器系列不受支援,請更換運算執行個體的機器類型。您可以將工作負載遷移至使用支援機型的新運算執行個體,或是變更支援設定的機型:
如要將現有運算執行個體移至新的運算執行個體,藉此變更機器類型,請在提供您想搭配 PMU 事件使用的 CPU 平台區域中,建立已啟用 PMU 的新運算執行個體。
如果可以變更機型,請完成下列步驟:
查看可用地區和區域,確認運算執行個體所在的區域是否提供支援的 CPU 平台。
如果運算執行個體所在區域沒有支援的 CPU 平台,請將運算執行個體遷移至有支援 CPU 平台的區域。
變更機器類型。 如要啟用架構或標準 PMU 類型,可以指定任何 A4X、C4A、C4 或 M4 機型。不過,如要啟用強化型 PMU 類型,您必須指定下列其中一個 C4 或 M4 機型:
任何具有 144 或 288 個 vCPU 的 C4 機器類型
下列其中一種 M4 機型:
m4-megamem-112m4-megamem-224m4-ultramem-56m4-ultramem-112m4-ultramem-224
您不必停止運算執行個體,即可啟用 PMU。不過,如要讓變更生效,您必須按照本節說明重新啟動運算執行個體。
如要在現有運算執行個體中啟用 PMU,請選取下列其中一個選項:
gcloud
建立空白的 YAML 檔案。
如要將運算執行個體的屬性匯出至您剛建立的 YAML 檔案,請使用
gcloud compute instances export指令:gcloud compute instances export INSTANCE_NAME \ --destination=YAML_FILE \ --zone=ZONE更改下列內容:
INSTANCE_NAME:運算執行個體的名稱。YAML_FILE:您在上一個步驟中建立的 YAML 檔案路徑。ZONE:運算執行個體所在的可用區。
在 YAML 設定檔的
advancedMachineFeatures欄位中,新增performanceMonitoringUnit欄位。如果沒有advancedMachineFeatures欄位,請一併新增:advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPE將
PMU_TYPE替換為下列其中一個值:架構 PMU 類型:
ARCHITECTURAL標準 PMU 類型:
STANDARD加強型 PMU 類型:
ENHANCED
如要更新並重新啟動運算執行個體,請使用
gcloud compute instances update-from-file指令,並將--most-disruptive-allowed-action旗標設為RESTART:gcloud compute instances update-from-file INSTANCE_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONE將
YAML_FILE替換為 YAML 檔案的路徑,其中包含您在上一個步驟中修改的設定資料。
REST
如要查看現有運算執行個體的屬性,請向
instances.get方法發出GET要求:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME更改下列內容:
PROJECT_ID:您建立運算執行個體的專案 ID。ZONE:運算執行個體所在的可用區。INSTANCE_NAME:運算執行個體的名稱。
如要更新並重新啟動運算執行個體,請向
instances.update方法發出PUT要求,如下所示:在要求網址中,加入設為
RESTART的mostDisruptiveAllowedAction查詢參數。在要求主體中,使用上一個步驟的
GET要求輸出內容。不過,您必須在advancedMachineFeatures欄位中新增performanceMonitoringUnit欄位,才能啟用 PMU。如果要求輸出內容中沒有advancedMachineFeatures欄位,請一併新增:
PUT要求類似於下列內容:PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }將
PMU_TYPE替換為下列其中一個值:架構 PMU 類型:
ARCHITECTURAL標準 PMU 類型:
STANDARD加強型 PMU 類型:
ENHANCED
如要進一步瞭解如何更新運算執行個體的屬性,請參閱「更新執行個體屬性」。
建立運算執行個體時啟用 PMU
您只能在包含支援 CPU 平台的區域中,建立已啟用 PMU 的運算執行個體。如需各區域的可用 CPU 清單,請參閱「可用地區和區域」。
如要建立已啟用 PMU 的運算執行個體,請選取下列任一選項:
gcloud
如要建立啟用 PMU 的運算執行個體,請使用
gcloud compute instances create指令搭配--performance-monitoring-unit旗標:gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --performance-monitoring-unit=PMU_TYPE \ --zone=ZONE更改下列內容:
INSTANCE_NAME:運算執行個體的名稱。MACHINE_TYPE:運算執行個體的機型。如要在運算執行個體中啟用強化型 PMU 類型,運算執行個體必須使用支援的機器類型,才能啟用。PMU_TYPE:要在運算執行個體中啟用的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
architectural標準 PMU 類型:
standard加強型 PMU 類型:
enhanced
ZONE:要建立運算執行個體的可用區。
REST
如要建立已啟用 PMU 的運算執行個體,請向
instances.insert方法提出POST要求。在要求主體中加入performanceMonitoringUnit欄位:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" } }更改下列內容:
PROJECT_ID:要建立運算執行個體的專案 ID。ZONE:要建立運算執行個體的可用區。INSTANCE_NAME:運算執行個體的名稱。MACHINE_TYPE:運算執行個體的機型。如要在運算執行個體中啟用強化型 PMU 類型,運算執行個體必須使用支援的機器類型,才能啟用。IMAGE_PROJECT:包含映像檔的映像檔專案,例如debian-cloud。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。IMAGE:指定下列其中一項:PMU_TYPE:要在運算執行個體中啟用的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
ARCHITECTURAL標準 PMU 類型:
STANDARD加強型 PMU 類型:
ENHANCED
如要進一步瞭解如何建立運算執行個體,請參閱「建立及啟動 Compute Engine 執行個體」。
大量建立運算執行個體時啟用 PMU
您只能在支援的 CPU 平台所在的區域中,大量建立已啟用 PMU 的運算執行個體。如需各區域可用的 CPU 清單,請參閱「可用地區和區域」。
如要大量建立啟用 PMU 的運算執行個體,請選取下列其中一個選項:
gcloud
如要大量建立啟用 PMU 的運算執行個體,請使用
gcloud compute instances bulk create指令搭配--performance-monitoring-unit旗標。舉例來說,如要在單一區域中大量建立運算執行個體,並指定名稱模式,請執行下列指令:
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --performance-monitoring-unit=PMU_TYPE \ --zone=ZONE更改下列內容:
COUNT:要建立的運算執行個體數量。MACHINE_TYPE:運算執行個體的機型。如要在運算執行個體中啟用強化型 PMU 類型,運算執行個體必須使用支援的機器類型,才能啟用。NAME_PATTERN:運算執行個體的名稱模式。如要取代運算執行個體名稱中的一連串數字,請使用一連串井字號 (#) 字元。舉例來說,使用instance-#做為名稱模式,會產生名稱開頭為instance-1、instance-2的運算執行個體,並持續產生,直到COUNT指定的運算執行個體數量為止。PMU_TYPE:要在運算執行個體中啟用的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
architectural標準 PMU 類型:
standard加強型 PMU 類型:
enhanced
ZONE:要大量建立運算執行個體的可用區。
REST
如要大量建立啟用 PMU 的運算執行個體,請對
instances.bulkInsert方法發出POST要求。在要求主體中,請納入performanceMonitoringUnit欄位。舉例來說,如要在單一可用區中大量建立運算執行個體,並指定名稱模式,請提出
POST要求,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" } } }更改下列內容:
PROJECT_ID:要在其中大量建立運算執行個體的專案 ID。ZONE:要大量建立運算執行個體的可用區。COUNT:要建立的運算執行個體數量。NAME_PATTERN:運算執行個體的名稱模式。如要取代運算執行個體名稱中的一連串數字,請使用一連串井字號 (#) 字元。舉例來說,使用instance-#做為名稱模式,會產生名稱開頭為instance-1、instance-2的運算執行個體,並持續產生,直到COUNT指定的運算執行個體數量為止。MACHINE_TYPE:運算執行個體的機型。如要在運算執行個體中啟用強化型 PMU 類型,運算執行個體必須使用支援的機器類型,才能啟用。IMAGE_PROJECT:包含映像檔的映像檔專案,例如debian-cloud。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。IMAGE:指定下列其中一項:PMU_TYPE:要在運算執行個體中啟用的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
ARCHITECTURAL標準 PMU 類型:
STANDARD加強型 PMU 類型:
ENHANCED
如要進一步瞭解如何大量建立運算執行個體,請參閱「大量建立 VM」。
建立執行個體範本時啟用 PMU
如要建立指定啟用 PMU 的區域執行個體範本,請確保所選區域中至少有一個區域包含支援的 CPU 平台。如需各區域可用的 CPU 清單,請參閱「可用地區和區域」。
建立指定啟用 PMU 的執行個體範本後,您可以使用該範本執行下列操作:
在代管執行個體群組 (MIG) 的運算執行個體中啟用 PMU,方法如下:
如要建立指定啟用 PMU 的執行個體範本,請選取下列任一選項:
gcloud
如要建立執行個體範本,並指定啟用 PMU,請使用
gcloud compute instance-templates create指令搭配--performance-monitoring-unit旗標。舉例來說,您可以使用下列指令建立區域執行個體範本。如要建立全域執行個體範本,請使用相同指令,但不要加上
--instance-template-region旗標。gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --performance-monitoring-unit=PMU_TYPE更改下列內容:
INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。REGION:要建立執行個體範本的區域。MACHINE_TYPE:運算執行個體的機型。如要在運算執行個體中啟用強化型 PMU 類型,運算執行個體必須使用支援的機器類型,才能啟用。PMU_TYPE:要納入執行個體範本的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
architectural標準 PMU 類型:
standard加強型 PMU 類型:
enhanced
REST
如要建立指定啟用 PMU 的執行個體範本,請向下列其中一種方法提出
POST要求:如要建立全域執行個體範本,請使用
instanceTemplates.insert方法。如要建立區域執行個體範本,請使用
regionInstanceTemplates.insert方法。
在要求主體中,請納入
performanceMonitoringUnit欄位。舉例來說,如要建立地區執行個體範本,並指定啟用 PMU,請發出下列
POST要求:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" } } }更改下列內容:
PROJECT_ID:要在其中建立執行個體範本的專案 ID。REGION:要建立執行個體範本的區域。INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。IMAGE_PROJECT:包含映像檔的映像檔專案,例如debian-cloud。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。IMAGE:指定下列其中一項:MACHINE_TYPE:運算執行個體的機型。如要在運算執行個體中啟用強化型 PMU 類型,運算執行個體必須使用支援的機器類型,才能啟用。PMU_TYPE:要納入執行個體範本的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
ARCHITECTURAL標準 PMU 類型:
STANDARD加強型 PMU 類型:
ENHANCED
如要進一步瞭解如何建立執行個體範本,請參閱建立執行個體範本。
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2026-03-12 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-03-12 (世界標準時間)。"],[],[]] -