瞭解 vCPU

建立虛擬機器 (VM) 或裸機執行個體時,Compute Engine 會指派 vCPU 給執行個體。本文說明 vCPU 如何對應至實體硬體,協助您最佳化效能、管理成本,並遵守軟體授權規定。

瞭解 vCPU

虛擬 CPU (vCPU) 代表指派給運算執行個體的中央處理器 (CPU) 運算能力單位。視基礎處理器架構而定,vCPU 會排定在單一硬體執行執行緒或整個專用實體 CPU 核心上執行。

vCPU 是 CPU 平台的一部分。CPU 平台是以 CPU 為基礎的設定,包含下列項目:

  • CPU 處理器類型
  • 指令集 (例如 AVX2 和 AVX-512)
  • 快取大小
  • 時脈速度
  • NUMA 分割
  • 記憶體存取搜尋時間
  • 晶片內建加速器

將 vCPU 分配給運算執行個體

如要建立 VM 或裸機執行個體 (統稱為運算執行個體),請使用機型。機型會決定 Compute Engine 分配給執行個體的資源。例如,c4-standard-4 機器類型會建立具有 4 個 vCPU 和 16 GB 記憶體的 VM。

為協助您選擇適合工作負載的機型,Compute Engine 將機型分為機器家族和機器系列。

  • 機器家族:已針對特定工作負載完成最佳化的一組精選處理器與硬體設定,例如一般用途、加速器最佳化或記憶體最佳化。
  • 機器系列:機器家族中 CPU 處理器、硬體和網路功能的特定組合。每個系列都著重於運算能力或效能的不同面向。舉例來說,E 系列提供低成本的高效 VM,而 C 系列則提供比 E 系列更優異且更穩定的效能。

    • 一個機器系列可以有多個世代,例如 C3 和 C4。代數或系列編號越高,代表基礎 CPU 處理器或技術越新。舉例來說,M4 系列採用第 5 代 Intel Xeon 處理器 (也稱為 Emerald Rapids),是比 M3 機器系列更新一代的產品,後者採用第 3 代 Intel Xeon 處理器 (也稱為 Ice Lake)。
    • 機器系列和機型的基礎架構會以機器系列名稱結尾的字母表示。舉例來說,第 4 代 C 機器系列提供 C4 (Intel)、C4D (AMD)、C4A (Arm) 或 C4N (網路最佳化) 等選項。

實體核心對應和多執行緒並行

在大多數 x86 處理器上,每個實體 CPU 核心都支援兩個硬體執行緒。Intel Xeon 處理器使用 Intel 超執行緒技術,AMD EPYC 處理器則使用同步多執行緒 (SMT)。對於這些處理器,Compute Engine 會將每個 vCPU 實作為在實體核心上執行的單一硬體執行緒。因此,兩個 vCPU 會共用一個實體 CPU 核心 (vCPU 與實體核心的比率為 2:1)。舉例來說,具有 4 個 vCPU 的 VM 會使用 2 個採用 SMT 的實體 CPU 核心。

在特定機器系列和處理器架構上,Compute Engine 不會使用 SMT。而是將每個 vCPU 直接對應至一個專屬實體 CPU 核心 (vCPU 與實體核心的比率為 1:1):

  • Arm 處理器:在 N4A、C4A 或 A4X 等 Arm64 架構的機器系列中,硬體架構採用單一執行緒核心。每個 vCPU 代表一個完整的實體核心。
  • 運算最佳化機器系列:H4D 和 H3 機器系列都不支援 SMT。每個 vCPU 代表一個完整的實體 CPU 核心,可提供高單一執行緒效能,並消除執行緒之間的資源爭用。
  • Tau 機器系列:針對 Tau T2A (採用 Ampere Altra 處理器) 和 Tau T2D 機器系列 (採用第 3 代 AMD EPYC Milan 處理器),Compute Engine 預設會停用 SMT。這類運算執行個體類型的每個核心一律有一個 vCPU。
  • 裸機執行個體:如果是裸機執行個體,1 個 vCPU 相當於 1 個 CPU。執行個體可用的 vCPU 數量等於主機伺服器上的硬體執行緒數量。您無法手動調整或設定每個核心的執行緒數量。

如要滿足特定工作負載或軟體授權需求,您可以自訂 vCPU 在客體作業系統中的顯示方式。詳情請參閱「自訂可見的 CPU 核心數量」。如需不使用 SMT 的機器系列和架構清單,請參閱「設定每個核心的執行緒數量」。

專用與共用核心 vCPU

選擇機型時,vCPU 會對應至 CPU 硬體執行緒,或使用共用核心資源模型:

  • 完整 vCPU:標準、高記憶體、高 CPU 和自訂機型會為每個 vCPU 分配硬體執行執行緒或實體核心。
    • 對於一般用途機器家族中的 N4、N4A、N4D 和 E2 機器系列,動態資源管理 (DRM) 系統會確保每個運作中的 vCPU 都有可用的硬體執行緒支援。DRM 可根據資源需求將運算執行個體排程至伺服器,並將 vCPU 執行緒排程至實體 CPU,盡可能縮短等待時間,讓 Compute Engine 充分運用可用的實體 CPU。一般用途機器家族中的 N1、N2 和 N2D 機器系列使用標準主機排程。
    • 如果是 C、M、G、Z 和 A 機器系列,vCPU 資源會專門指派給您的執行個體,絕不會與其他運算執行個體共用執行週期。
  • 共用核心 vCPU:共用核心機型包括 e2-micro、e2-small、e2-medium、f1-micro 和 g1-small。這些機型會透過環境切換,共用實體 CPU 核心。這些共用核心 VM 不使用專屬硬體執行緒,而是維持特定比例的實體核心時間:

    • e2-micro 可維持 2 個 vCPU,每個 vCPU 占用 12.5% 的 CPU 作業時間 (共 25%)。
    • e2-small 可維持 2 個 vCPU,每個 vCPU 占用 25% 的 CPU 作業時間 (共 50%)。
    • e2-medium 可維持 2 個 vCPU,每個 vCPU 占用 50% 的 CPU 作業時間 (共 100%)。
    • f1-micro 可維持 1 個 vCPU 長達 20% 的 CPU 作業時間。
    • g1-small 可維持單一 vCPU 長達 50% 的 CPU 作業時間。

    相較於具備完整 vCPU 的 VM,具備共用核心 vCPU 的 VM 提供了符合成本效益的選項,適合執行小型、非資源密集型應用程式、微服務,或不需要持續達到 CPU 尖峰處理量的開發或測試工作負載。

vCPU 效能特性

vCPU 的處理效能取決於 CPU 平台、時脈速度、快取階層、多執行緒動態和資源排程。

CPU 平台和指令集

Compute Engine 提供運算執行個體,可在多代 Intel、AMD、Arm 和自訂 Google 處理器上執行。每個 CPU 平台都會導入微架構強化功能和專屬指令集:

  • Advanced Vector Extensions (AVX-512):適用於 Intel 平台 (例如 Ice Lake、Emerald Rapids 和 Sapphire Rapids) 和 AMD EPYC 平台 (Genoa 和 Turin),可加速向量數學、科學運算和資料壓縮。
  • AMX 和 VNNI:這些擴充功能可直接在 vCPU 上加速深度學習推論和矩陣運算。
    • Advanced Matrix Extensions (AMX) 適用於 Intel 處理器 (Intel Xeon 第 4 代 Sapphire Rapids 以上版本)。
    • Intel 和 AMD EPYC 處理器 (Genoa 第 4 代以上) 均支援向量類神經網路指令 (VNNI)。
  • Arm NEON 和 SVE:Ampere Altra CPU 平台支援 Arm NEON,Google Axion 和 NVIDIA Grace CPU 平台則支援 Scalable Vector Extension (SVE),可為雲端原生網頁工作負載提供可擴充的向量執行功能。

時脈速度和 Turbo 頻率

vCPU 會以基礎實體處理器的基本時脈頻率執行指令。當工作負載需要額外的處理能力,且散熱空間允許時,處理器會自動將頻率提高至全核心 Turbo 頻率或單核心 Turbo 頻率。

某些機器系列在 Compute Engine 中會以最高持續時脈速度運作。舉例來說,在 Granite Rapids 上執行的 C4,全核心渦輪加速頻率最高可達 3.9 GHz,而 A3 Mega 或 A3 High 的全核心渦輪加速頻率最高可達 3.8 GHz。如要執行單一執行緒應用程式、電子設計自動化 (EDA) 和遊戲伺服器,請選擇高頻率 vCPU。

如要查看 Compute Engine 使用的各個 CPU 平台頻率,請參閱「CPU 平台」。

多執行緒資源共用

在啟用 SMT 的機器類型 (每個核心 2 個 vCPU) 上,兩個硬體執行執行緒會共用實體核心的第 1 級 (L1) 指令和資料快取、第 2 級 (L2) 快取、執行單元和轉譯查詢緩衝區 (TLB)。

  • I/O 繫結和並行工作負載:對於網頁伺服器、API 閘道和經常存取記憶體的資料庫作業,SMT 會在一個執行緒上執行指令,同時讓另一個執行緒等待記憶體擷取,藉此提高整體核心處理量。
  • 受運算能力限制的工作負載:如果應用程式持續飽和浮點單位或 L1/L2 快取,在兩個 vCPU 之間共用執行單位可能會導致資源爭用。如果工作負載在啟用 SMT 的運算執行個體上發生爭用,請考慮將每個核心的執行緒數設為 1,藉此停用 SMT,或改用具有專屬實體核心的機器系列 (例如 C4A 或 H4D)。

動態資源管理和效能監控

Compute Engine 採用專門的硬體和軟體最佳化技術,可維持可預測的 vCPU 延遲時間:

  • Google Titanium 架構:新一代機器系列 (包括 N4、N4D、N4A、C3、C3D 和 C4) 採用 Google Titanium 卸載卡、自訂 CPU 排程器,以及效能感知即時遷移。動態資源管理會保留 NUMA (非統一記憶體存取) 親和性,並盡可能減少干擾。
  • E2 的動態資源管理:對於 E2 VM,管理程序會視需求動態將虛擬 CPU 和記憶體對應至實體資源。這種動態對應機制可充分運用實體資源,提高成本效益。
  • 效能監控單元 (PMU):您可以在支援的機器系列 (例如 C4、M4 和 A4X) 啟用 PMU,存取低階硬體計數器。剖析工具會使用 PMU 計數器追蹤分支預測錯誤、快取失敗和每週期指令數 (IPC)。
  • Ops Agent:您可以在運算執行個體上安裝 Ops Agent,監控 CPU 使用率並收集系統層級的遙測資料。Ops Agent 會將這項資料傳送至 Google Cloud Observability,協助您分析及最佳化 vCPU 效能。

費用考量事項

為工作負載編列預算和規劃容量時,請考量 Compute Engine 的 vCPU 計費方式和可用的折扣模式。

資源計費精細程度

對於大多數機器系列,Compute Engine 會將 vCPU 和系統記憶體視為獨立的專用資源計費。執行個體是以秒計費,每個運算執行個體啟動後,最低計費時間為 1 分鐘。超過一分鐘後,系統只會根據執行個體實際執行的秒數收費。

如果是共用核心機型 (例如 E2 共用核心和 N1 共用核心),Compute Engine 會將 vCPU 和記憶體合併為單一小時費率,而非以個別資源計費。

您可以在 VM 執行個體定價頁面查看 vCPU 計費費率。

成本最佳化和折扣

您可以採用下列定價選項,降低 vCPU 計費費用:

  • 承諾使用折扣 (CUD):如果工作負載有可預測且穩定的 vCPU 需求,您可以購買 1 年或 3 年期承諾使用合約,享有隨選價格 55% 至 70% 的折扣。Compute Engine 提供依資源計算的 CUD (適用於特定區域中的特定機器系列),以及依支出計算的彈性 CUD (適用於多個機器系列和區域)。您可以在 Cloud Billing 帳戶中的專案之間共用 CUD。
  • 續用折扣 (SUD):對於符合條件的機器系列 (例如 N1、N2、N2D、C2、M1 和 M2),當 vCPU 執行時間超過帳單月份的 25% 時,Compute Engine 會自動套用 SUD。如果整個月持續執行 VM 執行個體,最多可享 20% 或 30% 的折扣,具體折扣取決於機器系列。以量計價價格較低的機器系列 (包括 E2、N4、C3、C4、Tau T2A 和 A3) 不提供 SUD。
  • Spot VM:針對容錯、無狀態或批次工作負載,Spot VM 提供標準隨選 vCPU 價格 60% 至 91% 的折扣。Compute Engine 隨時可以停止或收回 Spot VM,以取回資源。
  • 單一租戶節點和 vCPU 超額配置:在單一租戶節點上執行 VM 執行個體時,您必須支付專用實體主機伺服器的費用,而非個別 vCPU 的費用。在單一租戶節點上,您可以設定 CPU 超額配置 (比率最高為 2:1),在 VM 執行個體中排定比實體主機核心數更多的 vCPU,降低開發人員或測試環境的運算成本。
  • Dynamic Workload Scheduler (DWS):如果是 AI 或機器學習工作負載,您可以使用 DWS 最佳化 vCPU 成本,並提高資源可用性。
    • 彈性啟動型 VM:適合用於成本效益高、排程彈性的工作負載,最多可執行 7 天。
    • 日曆模式的未來預留項目要求:用於預留未來特定日期和時間的資源,最長可達 90 天。
  • 最適規模建議:Compute Engine 會分析歷來的 vCPU 使用率指標,並自動提供機器類型建議和閒置運算執行個體建議。套用這些建議,有助於調整過度佈建的 vCPU 大小,或停止閒置的執行個體。

機器系列可用性

下表列出 Compute Engine 機器系列的 vCPU 架構模型、多執行緒比率和 vCPU 數量上限。vCPU 數量上限反映各系列中最大的機器類型,包括裸機執行個體。

機器家族 機器系列 處理器架構 vCPU 與核心比率 vCPU 數量上限 共用核心選項
一般用途 E2 Intel Xeon / AMD EPYC 2 個 vCPU:1 個核心 (SMT) 32 個 vCPU 是 (e2-micro、e2-small、e2-medium)
一般用途 N1 多個世代的 Intel Xeon 處理器 2 個 vCPU:1 個核心 (SMT) 96 個 vCPU 是 (f1-micro、g1-small)
一般用途 N2 Intel Xeon (Cascade Lake / Ice Lake) 2 個 vCPU:1 個核心 (SMT) 128 個 vCPU 否
一般用途 N2D AMD EPYC (Rome / Milan) 2 個 vCPU:1 個核心 (SMT) 224 個 vCPU 否
一般用途 N4 第 5 代 Intel Xeon (Emerald Rapids) 2 個 vCPU:1 個核心 (SMT) 80 個 vCPU 否
一般用途 N4D 第 5 代 AMD EPYC (Turin) 2 個 vCPU:1 個核心 (SMT) 96 個 vCPU 否
一般用途 N4A Google Axion (Arm64) 1 個 vCPU:1 個核心 (無 SMT) 64 個 vCPU 否
一般用途 C3 第 4 代 Intel Xeon (Sapphire Rapids) 2 個 vCPU:1 個核心 (SMT) 176 個 vCPU 否
一般用途 C3D 第 4 代 AMD EPYC (Genoa) 2 個 vCPU:1 個核心 (SMT) 360 個 vCPU 否
一般用途 C4 第 5 代 Intel Xeon (Emerald Rapids) 和第 6 代 Intel Xeon (Granite Rapids) 2 個 vCPU:1 個核心 (SMT) 288 個 vCPU 否
一般用途 C4A Google Axion (Arm64) 1 個 vCPU:1 個核心 (無 SMT) 96 個 vCPU 否
一般用途 C4D 第 5 代 AMD EPYC (Turin) 2 個 vCPU:1 個核心 (SMT) 384 個 vCPU 否
一般用途 Tau T2A Ampere Altra (Arm64) 1 個 vCPU:1 個核心 (無 SMT) 48 個 vCPU 否
一般用途 Tau T2D 第 3 代 AMD EPYC (Milan) 1 個 vCPU:1 個核心 (已停用 SMT) 60 個 vCPU 否
運算最佳化 C2 Intel Xeon (Cascade Lake) 2 個 vCPU:1 個核心 (SMT) 60 個 vCPU 否
運算最佳化 C2D AMD EPYC (Milan) 2 個 vCPU:1 個核心 (SMT) 112 個 vCPU 否
運算最佳化 H3 第 4 代 Intel Xeon (Sapphire Rapids) 1 個 vCPU:1 個核心 (無 SMT) 88 個 vCPU 否
運算最佳化 H4D 第 5 代 AMD EPYC (Turin) 1 個 vCPU:1 個核心 (無 SMT) 192 個 vCPU 否
網路最佳化 C4N 第 5 代 Intel Xeon (Emerald Rapids) 2 個 vCPU:1 個核心 (SMT) 192 個 vCPU 否
記憶體最佳化 X4 第 4 代 Intel Xeon (Sapphire Rapids) 2 個 vCPU:1 個核心 (SMT) 1,920 個 vCPU 否
記憶體最佳化 M1 Intel Xeon (Skylake 和 Broadwell) 2 個 vCPU:1 個核心 (SMT) 160 個 vCPU 否
記憶體最佳化 M2 第 2 代 Intel Xeon (Cascade Lake) 2 個 vCPU:1 個核心 (SMT) 416 個 vCPU 否
記憶體最佳化 M3 第 3 代 Intel Xeon (Ice Lake) 2 個 vCPU:1 個核心 (SMT) 128 個 vCPU 否
記憶體最佳化 M4/M4N 第 5 代 Intel Xeon (Emerald Rapids) 2 個 vCPU:1 個核心 (SMT) 224 個 vCPU 否
儲存空間最佳化 Z3 第 4 代 Intel Xeon (Sapphire Rapids) 2 個 vCPU:1 個核心 (SMT) 192 個 vCPU 否
儲存空間最佳化 Z4D 第 5 代 AMD EPYC (Turin) 2 個 vCPU:1 個核心 (SMT) 288 個 vCPU 否
儲存空間最佳化 Z4M 第 5 代 Intel Xeon (Emerald Rapids) 1 個 vCPU:1 個核心 (無 SMT) 192 個 vCPU 否
加速器最佳化 A4X Max NVIDIA Grace 1 個 vCPU:1 個核心 (無 SMT) 144 個 vCPU 否
加速器最佳化 A4X NVIDIA Grace 1 個 vCPU:1 個核心 (無 SMT) 140 個 vCPU 否
加速器最佳化 A4 第 5 代 Intel Xeon (Emerald Rapids) 搭配 NVIDIA GPU 2 個 vCPU:1 個核心 (SMT) 224 個 vCPU 否
加速器最佳化 A3 Intel Xeon (Emerald Rapids 和 Sapphire Rapids) 搭配 NVIDIA GPU 2 個 vCPU:1 個核心 (SMT) 224 個 vCPU 否
加速器最佳化 A2 第 2 代 Intel Xeon (Cascade Lake) 搭配 NVIDIA GPU 2 個 vCPU:1 個核心 (SMT) 96 個 vCPU 否
加速器最佳化 G4 第 5 代 AMD EPYC (Turin) 搭配 NVIDIA GPU 2 個 vCPU:1 個核心 (SMT) 384 個 vCPU 否
加速器最佳化 G2 第 2 代 Intel Xeon (Cascade Lake) 搭配 NVIDIA GPU 2 個 vCPU:1 個核心 (SMT) 96 個 vCPU 否

如要瞭解所有系列中每個 vCPU 的記憶體、網路頻寬和本機磁碟支援的詳細規格,請參閱機器資源指南。

後續步驟