本文說明如何在新的或現有的虛擬機器 (VM) 執行個體中啟用效能監控單元 (PMU)。如���進一步瞭解 PMU,請參閱 PMU 總覽。
在 C4A 或 C4 VM 中啟用 PMU 並連線後,您就可以在 VM 上執行及安裝效能監控軟體,以便分析及改善 VM 上執行的軟體效能。執行效能敏感的工作負載時,這項方法就很實用,例如高效能運算 (HPC) 或機器學習 (ML) 工作負載。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要的角色
如要取得在新的或現有 VM 中啟用 PMU 所需的權限,請要求管理員為您授予專案的 Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色包含在新的或現有 VM 中啟用 PMU 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要在新或現有的 VM 中啟用 PMU,您必須具備下列權限:
-
如要建立 VM,請按照下列步驟操作:
- 專案的
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:
compute.instances.setMetadata
設定 VM 執行個體中繼資料 - 如何為 VM 設定標記:
compute.instances.setTags
- 如何為 VM 設定標籤:
compute.instances.setLabels
- 如何設定 VM 要使用的服務帳戶: 在 VM 上使用
compute.instances.setServiceAccount
- 如要為專案中的 VM
compute.disks.create
建立新磁碟 - 如要以唯讀或讀寫模式連接現有磁碟:磁碟的
compute.disks.use
- 如要以唯讀模式連接現有磁碟:磁碟上的
compute.disks.useReadOnly
- 專案的
-
如要建立執行個體範本:
在專案上使用
compute.instanceTemplates.create
-
如要更新 VM:
compute.instances.update
在 VM 上
在 VM 中啟用 PMU
如要在一或多個 C4A 或 C4 VM 中啟用 PMU,請使用下列其中一種方法:
在一個或多個 VM 中啟用 PMU 後,您就可以在 VM 上安裝及使用效能監控軟體。
在現有 VM 中啟用 PMU
在現有 VM 中啟用 PMU 前,請先確認 VM 使用支援的機器類型和 CPU 平台,方法如下:
如要驗證 VM 的機器類型和 CPU 平台,請查看 VM 的詳細資料。
如果需要變更 VM 的機器類型,請按照下列步驟操作:
您不必停止 VM 就能啟用 PMU。不過,您必須按照本節所述重新啟動 VM,變更才能生效。
如要在現有 VM 中啟用 PMU,請選取下列任一選項��
gcloud
建立空的 YAML 檔案。
如要將 VM 的屬性匯出至您剛建立的 YAML 檔案,請使用
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
欄位。如果找不到advancedMachineFeatures
欄位,請一併新增該欄位:advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPE
將
PMU_TYPE
替換為下列任一值:架構 PMU 類型:
ARCHITECTURAL
標準 PMU 類型:
STANDARD
強化型 PMU 類型:
ENHANCED
如要更新及重新啟動 VM,請使用
gcloud compute instances update-from-file
指令,並將--most-disruptive-allowed-action
旗標設為RESTART
: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 所在區域。
REST
建立空白 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 屬性。在
advancedMachineFeatures
���位中新增performanceMonitoringUnit
欄位。如果advancedMachineFeatures
欄位不存在,請一併新增該欄位:{ "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }
請將
PMU_TYPE
替換為下列任一值:架構 PMU 類型:
ARCHITECTURAL
標準 PMU 類型:
STANDARD
強化型 PMU 類型:
ENHANCED
如要更新 VM 並重新啟動,請對
instances.update
方法提出PUT
要求。在要求中執行以下操作:在要求網址中,將
mostDisruptiveAllowedAction
查詢參數設為RESTART
。針對要求主體,請使用您在先前步驟中建立及更新的 JSON 檔案中的 VM 屬性。
要求會與下列內容相似:
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?mostDisruptiveAllowedAction=RESTART { "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }
如要進一步瞭解如何更新 VM 的屬性,請參閱「更新執行個體屬性」。
在建立 VM 時啟用 PMU
您只能在包含支援的 CPU 平台的區域中,建立啟用 PMU 的 VM。如需各區域可用的 CPU 清單,請參閱「可用地區和區域」。
如要建立已啟用 PMU 的 VM,請選取下列任一選項:
gcloud
如要建立已啟用 PMU 的 VM,請使用 gcloud compute instances create
指令搭配 --performance-monitoring-unit
標記:
gcloud compute instances create VM_NAME \
--machine-type=MACHINE_TYPE \
--performance-monitoring-unit=PMU_TYPE \
--zone=ZONE
更改下列內容:
REST
如要建立已啟用 PMU 的 VM,請對 instances.insert
方法發出 POST
要求。在要求主體中加入 performanceMonitoringUnit
欄位:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "VM_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
:要建立 VM 的專案 ID。ZONE
:建立 VM 的區域。VM_NAME
:VM 名稱。MACHINE_TYPE
:C4A 或 C4 機型。如果您想啟用 Enhanced PMU 類型,則必須指定具有 96 或 192 個 vCPU 的 C4 機器類型。否則,建立 VM 會失敗。IMAGE_PROJECT
:包含圖片的圖片專案,例如debian-cloud
。如要進一步瞭解支援的圖像專案,請參閱「公開圖像」。IMAGE
:指定下列其中一個值:PMU_TYPE
:要在 VM 中啟用的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
ARCHITECTURAL
標準 PMU 類型:
STANDARD
強化型 PMU 類型:
ENHANCED
如要進一步瞭解如何建立 VM,請參閱「建立及啟動 Compute Engine 執行個體」一文。
在大量建立 VM 時啟用 PMU
您只能在包含支援的 CPU 平台的區域中,大量建立已啟用 PMU 的 VM。如需各區域可用的 CPU 清單,請參閱「可用地區和區域」。
如要大量建立已啟用 PMU 的 VM,請選取下列任一選項:
gcloud
如要大量建立已啟用 PMU 的 VM,請使用 gcloud compute instances bulk create
指令搭配 --performance-monitoring-unit
旗標。
舉例來說,如要在單一可用區中大量建立 VM 並指定名稱模式,請執行下列指令:
gcloud compute instances bulk create \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--name-pattern="NAME_PATTERN" \
--performance-monitoring-unit=PMU_TYPE \
--zone=ZONE
更改下列內容:
COUNT
:要建立的 VM 數量。MACHINE_TYPE
:C4A 或 C4 機型。如要啟用 Enhanced PMU 類型,您必須指定具有 96 或 192 個 vCPU 的 C4 機器類型。否則,建立 VM 會失敗。NAME_PATTERN
:VM 的名稱模式。如要取代 VM 名稱中的數字序列,請使用一連串井字號 (#
) 字元。舉例來說,如果將名稱模式設為vm-#
,系統就會產生名稱以vm-1
、vm-2
開頭的 VM,並依COUNT
指定的 VM 數量繼續產生。PMU_TYPE
:在 VM 中啟用的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
architectural
標準 PMU 類型:
standard
強化型 PMU 類型:
enhanced
ZONE
:要用於大量建立 VM 的可用區。
REST
如要大量建立已啟用 PMU 的 VM,請對 instances.bulkInsert
方法提出 POST
要求。在要求主體中加入 performanceMonitoringUnit
欄位。
舉例來說,如要在單一區域中大量建立 VM 並指定名稱模式,請提出以下 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
:要用於大量建立 VM 的專案 ID。ZONE
:要用於大量建立 VM 的可用區。COUNT
:要建立的 VM 數量。NAME_PATTERN
:VM 的名稱模式。如要取代 VM 名稱中的數字序列,請使用一連串井字號 (#
) 字元。舉例來說,如果將名稱模式設為vm-#
,系統就會產生名稱以vm-1
、vm-2
開頭的 VM,並依COUNT
指定的 VM 數量繼續產生。MACHINE_TYPE
:C4A 或 C4 機型。如果您想啟用 Enhanced PMU 類型,則必須指定具有 96 或 192 個 vCPU 的 C4 機器類型。否則,建立 VM 會失敗。IMAGE_PROJECT
:包含圖片的圖片專案,例如debian-cloud
。如要進一步瞭解支援的圖像專案,請參閱「公開圖像」。IMAGE
:指定下列其中一個值:PMU_TYPE
:在 VM 中啟用的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
ARCHITECTURAL
標準 PMU 類型:
STANDARD
強化型 PMU 類型:
ENHANCED
如要進一步瞭解如何大量建立 VM,請參閱「大量建立 VM」。
在建立執行個體範本時啟用 PMU
如果您要建立啟用 PMU 的區域執行個體範本,請確認所選區域中至少有一個區域包含支援的 CPU 平台。如需各區域可用的 CPU 清單,請參閱「可用地區和區域」。
建立啟用 PMU 的執行個體範本後,您可以使用該範本執行下列操作:
在執行下列操作時,請在代管執行個體群組 (MIG) 的 VM 中啟用 PMU:
如要建立已啟用 PMU 的執行個體範本,請選取下列任一選項:
gcloud
如要建立已啟用 PMU 的執行個體範本,請使用 gcloud compute instance-templates create
指令搭配 --performance-monitoring-unit
旗標。如要建立地區性執行個體範本,您也必須加入 --instance-template-region
標記。
舉例來說,如要建立已啟用 PMU 的區域執行個體範本,請執行下列指令:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE \
--performance-monitoring-unit=PMU_TYPE
更改下列內容:
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
:C4A 或 C4 機型。如果您想啟用 Enhanced PMU 類型,則必須指定具有 96 或 192 個 vCPU 的 C4 機器類型。否則,建立 VM 會失敗。PMU_TYPE
:要納入執行個體範本的 PMU 類型。請指定下列其中一個值:架構 PMU 類型:
ARCHITECTURAL
標準 PMU 類型:
STANDARD
強化型 PMU 類型:
ENHANCED
如要進一步瞭解如何建立執行個體範本,請參閱「建立執行個體範本」。