單一用戶群節點的 CPU 超額配置功能可讓您排程執行個體,彼此共用閒置的 CPU 週期。這樣一來,您就能超額佈建單一租戶節點資源,並在單一租戶節點上排程比平常更多的 VM CPU。CPU 超額配置功能特別適合資源使用率偏低,但可能出現相對不相關的活動量暴增情況的工作負載。
CPU 超額配置可將單一租戶節點的成本分攤到更多 VM,有助於降低每個 VM 的成本。使用單一插槽或單一核心授權時,這項功能也能降低每個 VM 的授權費用。
CPU 超量預訂的 VM 可以透過下列方式,使用原本未使用的 CPU 資源:
如果單一租戶節點未滿載,超額配置的 VM 即可使用未分配的核心。
如果單一租戶節點上的其他 VM 未充分運用所有 CPU 資源 (例如 CPU 處於閒置狀態),超額配置的 VM 就能使用這些 CPU 資源。
超額配置層級
建立 VM 時或停止 VM 後,您可以指定分配給 VM 的 CPU 數量下限值。超額配置層級代表 VM 保證可用的基礎 CPU 執行緒數量下限。如果 VM 的 vCPU 數量超過可用的基礎執行緒,VM 的 vCPU 會共用基礎運算資源,效能也會降低。
您可以為每個 VM 設定這個值,在單一單一用戶群節點上,以不同的 CPU 超額配置比率佈建 VM。如果發生相關的爆量情況,較低的值可能會降低容量需求,但效能可能會受到影響。如要判斷 CPU 數量的最佳下限值,您必須瞭解工作負載使用率,並反覆修改值。
設定這個值時,請注意下列事項:
如果未設定 CPU 數量下限值,或將 CPU 數量下限值設為 VM 機型上的 CPU 數量,VM 的允許超額配置比率為 1.0。超額配置比率為 1.0 時,只有這個 VM 可以存取所有 CPU,沒有 CPU 資源可超額配置給其他 VM。
CPU 數量下限不得大於 VM 機型指定的 CPU 數量。
單一租戶節點上所有 VM 的 CPU 數量下限總和,不得超過該單一租戶節點類型的 CPU 容量,
n1-node-96-624
節點類型為 96。
VM 機型指定的 CPU 數量值是靜態值,代表 VM 可從最低數量爆量使用的 CPU 數量 (如有可用 CPU)。如果您需要的 CPU 數量與預先定義的機器類型不同,可以使用自訂機器類型。
注意事項
為 VM 設定 CPU 超量配置層級前,請先考量工作負載的重要性。開發和測試工作負載等較不重要的工作負載,可能可以容許較高的超額配置層級。對於生產付款系統等更重要的工作負載,可能無法容許超額配置,或完全無法容許。
此外,也請考量工作負載的使用率。CPU 使用率高的工作負載不適合超額預訂 CPU,因為這類工作負載不會有閒置的使用率週期,供其他超額預訂的 VM 使用。此外,平均 CPU 使用率偏低,但使用率尖峰偏低的工作負載,可能適合不同大小的機器類型。
如果工作負載的尖峰使用率高,平均使用率低,且不相關,則使用 CPU 超量配置有助於提升效能,因為當部分 VM 需要爆量使用 CPU 時,這些工作負載較有可能有可用的 CPU 資源,可供 VM 共用。如果主機上的所有 VM 同時爆量,主機就無法為 VM 提供足夠的資源。
限制
- 工作負載限制
CPU 超量配置最適合效能要求不嚴格的工作負載,例如開發和測試工作負載,以及虛擬桌面基礎架構。
如果工作負載對效能很敏感,可能就不適合採用高 CPU 超額配置。
如果工作負載的平均和尖峰使用率持續偏低,Google 建議調整大小。也就是說,建議您修改 VM 執行個體的大小,以符合工作負載的資源需求,而不是超額配置 CPU。
如果執行個體過度超量預訂,請將執行個體移至其他單一租戶節點。
- 機器類型限制
您只能在下列項目超額配置 CPU:
- 超額配置層級限制
您只能將每個單一用戶群節點的最低 CPU 數設為 VM CPU 數的一半,單一用戶群節點的超額配置比率最多可達 2.0。
- VM 排程限制
如果單一用戶群節點範本未設定 CPU 超額配置,則根據該範本建立的單一用戶群節點群組,無法佈建啟用 CPU 超額配置的 VM。也就是說,您無法在未設定 CPU 超量預訂的單一租戶節點群組上,排定具有指定最低 CPU 數量的 VM。
配額
CPU 配額是根據單一用戶群節點類型的 vCPU 數量而定,而非超額配置可用的 vCPU 潛在上限。
費用
如果單一用戶群節點的節點範本選取了 CPU 超額配置,則會額外收取 25% 的費用。這筆費用不包含在單一用戶群節點上執行 VM 的 10% 附加費。無論 CPU 過量使用級別為何,以及單一用戶群節點上排定多少 VM,CPU 過量使用附加費都是固定的。
單一用戶群節點提供承諾使用折扣。續用折扣適用於單一租戶附加費和 CPU 超量配置附加費。
如要估算在單一用戶群節點上執行 VM 的費用,請參閱 Pricing Calculator。
設定單一用戶群 VM 超額配置
如要設定單一用戶群 VM,讓 CPU 資源可供超額配置,請按照下列步驟操作:
建立已啟用 CPU 超額配置的單一用戶群節點範本。建立節點範本時,您必須啟用 CPU 超量配置。建立節點範本後,就無法啟用 CPU 超量配置。
根據已啟用 CPU 超額配置的單一用戶群節點範本,建立單一用戶群節點群組。
建立 VM 並執行下列操作:
選擇 VM 的機型。機器類型上的 CPU 數量代表 VM 可從 CPU 數量下限爆發的最大 CPU 數量,前提是 CPU 數量下限少於機器類型指定的 CPU 數量。
只要不超過單一租戶節點的 CPU 和記憶體容量,您就能為單一租戶節點上的每個 VM 選擇不同的機型。
指定要分配給單一 VM 的 CPU 數量下限,或使用代管執行個體群組建立多個 CPU 超額配置量相同的 VM。
事前準備
-
建立單一用戶群節點範本,並指定
--cpu-overcommit-type=enabled
。 - 根據已啟用 CPU 超額配置功能的單一用戶群節點範本,建立單一用戶群節點群組。
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
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.
前往「單一用戶群節點」頁面。
按一下「節點群組」。
按一下要建立 VM 的單一用戶群節點群組。
點選「建立執行個體」。
指定 VM 的「名稱」、「區域」和「可用區」。
在「Machine configuration」(機器設定) 下,選擇至少有 4 個 vCPU 的固定或自訂「Machine type」(機器類型)。
在「CPU overcommit」(CPU 超額配置) 下方,選取「Enable CPU overcommit」(啟用 CPU 超額配置)。
在「分配的 vCPU 數量下限」下方,調整滑桿或手動輸入 vCPU 數量,指定這個 VM 的 CPU 超額配置量。
按一下「建立」,建立可超額配置 CPU 資源的 VM 執行個體。
VM_NAME
:要超額配置 CPU 的 VM 名稱。MACHINE_TYPE
:用於佈建單一租戶 VM 的機器類型。機器類型指定的 CPU 數量,是 VM 可從 MIN_VCPUS 爆發的 CPU 數量上限。MIN_VCPUS
:保證可供這個 VM 使用的最低 vCPU 數量。GROUP_NAME
:要佈建 VM 的單一用戶群節點群組名稱。PROJECT_ID
:專案 ID。ZONE
:這項要求適用的區域。MACHINE_TYPE_ZONE
:代管機器類型的區域。MACHINE_TYPE
:用於佈建單一用戶群 VM 的機器類型。機器類型指定的 CPU 數量是 VM 可從MIN_VCPUS
爆發的 CPU 數量上限。VM_NAME
:要超額配置 CPU 的單一租戶 VM 名稱。MIN_VCPUS
:保證可供這個 VM 使用的最低 vCPU 數量。GROUP_NAME
:要佈建 VM 的單一用戶群節點群組名稱。如要修改執行中 VM 的 CPU 超額配置層級,請先停止 VM。如要停止 VM,請使用
gcloud compute instances stop
指令,如下所示:gcloud compute instances stop VM_NAME
將
VM_NAME
替換為要停止的執行個體名稱。如要更新單一租戶 VM 的 CPU 超額配置層級,請使用
gcloud compute instances set-scheduling
指令,如下所示:gcloud compute instances set-scheduling VM_NAME \ --min-node-cpu=MIN_VCPUS
更改下列內容:
VM_NAME
:要修改 CPU 超額配置層級的單一用戶群 VM 名稱。MIN_VCPUS
:保證可供這個 VM 使用的最低 vCPU 數量。
如要修改執行中 VM 的 CPU 超額配置層級,請先停止 VM。如要停止 VM,請使用
instances.stop
方法建構POST
要求,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
更改下列內容:
PROJECT_ID
:專案 ID。ZONE
:這項要求適用的區域。VM_NAME
:要修改 CPU 超額配置層級的單一用戶群 VM 名稱。
如要更新單一用戶群 VM 的 CPU 超額配置層級,請使用
instances.setScheduling
方法,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "minNodeCpus":MIN_VCPUS }
更改下列內容:
PROJECT_ID
:專案 ID。ZONE
:這項要求適用的區域。VM_NAME
:要修改 CPU 超額配置層級的單一用戶群 VM 名稱。MIN_VCPUS
:保證可供這個 VM 使用的最低 vCPU 數量。
VM_NAME
:要停用 CPU 超量配置的單一用戶群 VM 名稱。PROJECT_ID
:專案 ID。ZONE
:這項要求適用的區域。VM_NAME
:要停用 CPU 超額配置的單一用戶群 VM 名稱。前往 Google Cloud 控制台的「單一租戶節點」頁面。
按一下「節點群組」。
按一下包含單一用戶群節點的單一用戶群節點群組,該節點具有 CPU 超額配置的 VM。
按一下具有 CPU 超額配置 VM 的單一用戶群節點。
在單一用戶群節點名稱下方,查看「CPU usage」(CPU 用量)、「CPU overcommit type」(CPU 超量配置類型) 和「Min CPU usage」(最低 CPU 用量)。
「CPU 使用率」會顯示這個單一租戶節點上所有 VM 的 CPU 數量上限總和,除以單一租戶節點類型指定的 CPU 數量。
節點上可超額配置的 CPU 數量為分子減去分母,超額配置層級則為分子除以分母的商。
「最低 CPU 用量」會顯示單一租戶節點上所有 VM 分配到的最低 CPU 數量總和,除以節點類型指定的 CPU 數量。
前往 Google Cloud 控制台的「Monitoring」頁面。
按一下「指標探索工具」。
在「Resource type」(資源類型) 欄位中,輸入「VM Instance」(VM 執行個體)。
在「Metric」(指標) 欄位中,輸入「Scheduler Wait Time」(排程器等待時間)。
(選用) 按一下「快訊」,設定 VM 等候時間門檻的快訊。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 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.
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
設定 CPU 超額配置層級
下列程序說明如何建立單一租戶 VM,並提供可超額預訂的 CPU 資源。如要修改執行中 VM 的 CPU 超額配置層級,必須先停止 VM。
主控台
在 Google Cloud 控制台中,從已啟用 CPU 超額配置功能的單一用戶群節點範本建立單一用戶群節點群組,然後在該群組中建立單一用戶群 VM:
gcloud
以下範例說明如何使用
gcloud compute instances create
指令,在預先定義的機器類型上建立單一租戶 VM,並提供 CPU 資源以供超額配置。gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --min-node-cpu=MIN_VCPUS \ --node-group=GROUP_NAME
更改下列內容:
在自訂機器類型上設定過度承諾層級
如要建立單一用戶群 VM,並在自訂機器類型上超量配置 CPU 資源,請省略
--machine-type
標記,改用--custom-cpu
和--custom-memory
標記,以指定自訂機器的 CPU 數量和記憶體容量 (以 GB 為單位)。REST
以下範例說明如何使用
instances.insert
方法,在固定機器類型上建立單一租戶 VM,並提供 CPU 資源以供超額配置。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "scheduling": { "minNodeCpus": MIN_VCPUS, "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, ... }
更改下列內容:
在自訂機器類型上設定過度承諾層級
如要建立單一租戶 VM,並在自訂機型上超量配置 CPU 資源,請將
machineType
欄位的值替換為zones/zone/machineTypes/custom-CPUS-MEMORY
,並將CPUS
替換為 CPU 數量,以及將MEMORY
替換為自訂機型的記憶體容量 (以 MB 為單位)。更新 CPU 超額配置層級
下列程序說明如何更新單一租戶 VM 的 CPU 過度承諾層級。
gcloud
REST
停用單一用戶群 VM 的 CPU 超額配置
下列程序說明如何停用單一租戶 VM 的 CPU 超量配置。
gcloud
以下範例說明如何使用
gcloud compute instances set-scheduling
指令,停用單一租戶 VM 的 CPU 過度承諾。gcloud compute instances set-scheduling VM_NAME \ --clear-min-node-cpu
更改下列內容:
REST
以下範例說明如何使用
instances.setScheduling
指令,停用單一租戶 VM 的 CPU 超量配置。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "minNodeCpus":null }
更改下列內容:
查看 CPU 使用率
如要檢查單一用戶群節點群組中單一用戶群 VM 的 CPU 使用率,請執行下列操作:
調整 CPU 超額配置層級
為協助您調整 CPU 超量配置層級,Compute Engine 提供「排程器等待時間」指標。「排程器等待時間」指標會顯示 VM 上所有 vCPU 的總等待時間,協助您判斷 CPU 過度承諾對 VM 效能的影響。
工作負載的敏感度各不相同,但一般而言,每秒累積的排程器等待時間為 20 毫秒 (20 msps),可做為每個 vCPU 的最長等待時間。舉例來說,如果 VM 設為 8 個 vCPU,經驗法則的閾值為 160 msps,因此每個 vCPU 的平均排程器等待時間為 20 msps,屬於可接受的範圍。工作負載的效能需求最終會決定可接受的門檻。
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-11 (世界標準時間)。
-