本页面介绍如何创建或更新虚拟机 (VM) 实例以使用最低要求 CPU 平台(而非默认平台)。
Google 数据中心提供不同世代的 CPU 处理器。每个 CPU 平台都支持高级矢量扩展(例如 AVX2 和 AVX-512)等增量功能。此外,一些与基本系统相关的功能(如时钟速度和存储器存取寻道时间)可能因 CPU 平台而异。
每个机器系列都与一个或多个 CPU 平台相关联。例如,N2 虚拟机可以在 Ice Lake CPU 或 Cascade Lake CPU 上运行。如果某个机器系列有多个 CPU 平台可用,则在使用该机器系列中的机器类型创建虚拟机时,您可以选择满足最低要求的 CPU 平台。机器家族、系列、区域和可用区的可用性决定了您可以为满足最低要求的 CPU 平台选择的选项。
如果您的工作负载需要一代特定处理器提供的性能提升,则指定满足最低要求的 CPU 平台会非常有用。不过,指定最低要求 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
如需连接到能够以服务账号的身份运行的虚拟机:Service Account User (v1)(
roles/iam.serviceAccountUser
角色) - 当满足最低要求的 CPU 平台可为您的工作负载提供明显的性能提升,或者提供代码使用的 AVX2 或 AVX-512 等功能时。
- 创建消耗预留资源的虚拟机时,您必须指定与预留资源相同的 CPU 平台。
- 每个区域和可用区都支持多个 CPU 平台,但区域或可用区可能无法提供所有 CPU 平台。
- 您不能为使用单租户节点的虚拟机指定满足最低要求的 CPU 平台。
- 您不能为预定义或自定义 E2 虚拟机选择满足最低要求的 CPU 平台。
- 您无法为以下共享核心通用虚拟机选择最低要求 CPU 平台:
e2-micro
e2-small
e2-medium
f1-micro
g1-small
- 第 5 代:Intel Xeon (Emerald Rapids) 处理器:
"Intel Emerald Rapids"
- 第 4 代:Intel Xeon (Sapphire Rapids) 处理器:
"Intel Sapphire Rapids"
- 第 3 代:Intel Xeon (Ice Lake) 处理器:
"Intel Ice Lake"
- 第 2 代:Intel Xeon (Cascade Lake) 处理器:
"Intel Cascade Lake"
- 第 1 代:Intel Xeon (Skylake) 处理器:
"Intel Skylake"
- Intel Xeon E5 v4 (Broadwell) 处理器:
"Intel Broadwell"
- Intel Xeon E5 v3 (Haswell) 处理器:
"Intel Haswell"
- Intel Xeon E5 v2 (Ivy Bridge) 处理器:
"Intel Ivy Bridge"
- Intel Xeon E5 (Sandy Bridge) 处理器:
"Intel Sandy Bridge"
- 第 4 代:AMD EPYC Genoa 处理器:
"AMD Genoa"
- 第 3 代:AMD EPYC Milan 处理器:
"AMD Milan"
- 第 2 代:AMD EPYC Rome 处理器:
"AMD Rome"
如需查看您可用区中可用的 CPU 平台,请使用
gcloud compute zones describe
命令:gcloud compute zones describe ZONE
将
ZONE
替换为要检查可用 CPU 平台的可用区名称,例如europe-west10-a
。此命令的以下输出列出了
europe-west10-a
可用区的 CPU 平台:gcloud compute zones describe europe-west10-a availableCpuPlatforms: - Intel Broadwell - Intel Cascade Lake - Intel Ice Lake - AMD Milan - AMD Rome - Intel Skylake ...
向您考虑的可用区发出
GET
请求:GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/ZONE
将
ZONE
替换为要检查可用 CPU 平台的可用区名称。此命令的以下输出列出了可用区支持的 CPU 平台:
{ "kind": "compute#zone", "id": "2210", "creationTimestamp": "1969-12-31T09:30:55.189-07:00", "name": "europe-west10-a", "description": "europe-west10-a", "status": "UP", "region": "https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west10-a", "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west10-a", "availableCpuPlatforms": [ "Intel Broadwell", "Intel Cascade Lake", "Intel Ice Lake", "AMD Milan", "AMD Rome", "Intel Skylake" ], "supportsPzs": true }
在 Google Cloud 控制台中,转到创建实例页面。
在机器配置部分中,展开高级配置部分。
在 CPU 平台列表中,选择虚拟机 CPU 的平台。
继续完成虚拟机创建过程的剩余部分。
如需创建使用最低要求 CPU 平台的新虚拟机,请使用
gcloud compute instances create
命令并提供--min-cpu-platform
标志:gcloud compute instances create INSTANCE \ --zone=ZONE \ --min-cpu-platform="PLATFORM"
请替换以下内容:
INSTANCE
:您要创建的实例的名称。ZONE
:要在其中创建实例的可用区的名称,例如europe-west1-b
PLATFORM
:您希望实例使用的最低要求 CPU 平台的易记名称,例如Intel Sandy Bridge
如果要清除最低要求 CPU 平台规范,请将
PLATFORM
替换为AUTOMATIC
。请参考可用可用区部分来确定每个可用区有哪些平台可供使用。
使用
instances.insert
方法并添加minCpuPlatform
属性作为请求正文的一部分。例如,请求正文可能如下所示:
"name": "INSTANCE", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "minCpuPlatform": "PLATFORM", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }]
替换以下内容:
转到虚拟机实例页面。
如果出现提示,请选择您的项目并点击继续。
选择要更改的虚拟机。
点击停止。
如需修改虚拟机,请点击修改。
在机器配置部分中,点击高级配置。
从 CPU 平台下拉菜单中,选择一个选项。
保存更改。
选择已更改的虚拟机。
点击启动/恢复。
如需停止虚拟机,请使用
gcloud compute instances stop
命令:gcloud compute instances stop INSTANCE
将
INSTANCE
替换为您要为其指定满足最低要求的 CPU 平台的虚拟机的名称。如需指定最低要求 CPU 平台,请使用
gcloud compute instances update
命令,并提供--min-cpu-platform
标志:gcloud compute instances update INSTANCE \ --min-cpu-platform="PLATFORM"
将
PLATFORM
替换为您希望虚拟机使用的满足最低要求的 CPU 平台的易记名称,例如Intel Cascade Lake
。如需启动更新后的虚拟机,请使用
gcloud compute instances start
命令:gcloud compute instances start INSTANCE
如需停止虚拟机,请使用
instances.stop
方法构建一个POST
请求:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/stop
请替换以下内容:
PROJECT_ID
:项目的 IDZONE
:虚拟机所在的可用区INSTANCE
:您要为其指定满足最低要求的 CPU 平台的虚拟机的名称
如需设置满足最低要求的 CPU 平台,请构建对
setMinCpuPlatform
方法的POST
请求,并在请求正文中设置minCpuPlatform
属性:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform { "minCpuPlatform": "PLATFORM" }
将
PLATFORM
替换为您希望虚拟机使用的满足最低要求的 CPU 平台的易记名称,例如Intel Skylake
。如需重启虚拟机,请使用
instances.start
方法构建POST
请求:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/start
转到虚拟机实例页面。
如果出现提示,请选择您的项目并点击继续。
选择要更改的虚拟机。
点击停止。
如需修改虚拟机,请点击修改。
在机器配置部分中,点击高级配置。
将 CPU 平台选项更改为自动。
选择已更改的虚拟机。
点击启动/恢复。
如需停止虚拟机,请使用
gcloud compute instances stop
命令:gcloud compute instances stop INSTANCE
将
INSTANCE
替换为您要更改的虚拟机的名称。如需重置最低要求 CPU 平台,请使用
gcloud compute instances update
命令并将--min-cpu-platform
标志设置为AUTOMATIC
:gcloud compute instances update INSTANCE \ --min-cpu-platform="AUTOMATIC"
如需启动更新后的虚拟机,请使用
gcloud compute instances start
命令:gcloud compute instances start INSTANCE
如需停止虚拟机,请使用
instances.stop
方法构建一个POST
请求:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/stop
请替换以下内容:
PROJECT_ID
:项目的 IDZONE
:虚拟机所在的可用区INSTANCE
:您要更改的虚拟机的名称
如需重置满足最低要求的 CPU 平台,请构建对
setMinCpuPlatform
方法的POST
请求。在请求正文中,将minCpuPlatform
属性值设置为AUTOMATIC
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform { "minCpuPlatform": "AUTOMATIC" }
如需启动更新后的虚拟机,请使用
gcloud compute instances start
命令:gcloud compute instances start INSTANCE
转到实例模板页面。
如果出现提示,请选择您的项目并点击继续。
点击创建实例模板。
在机器配置部分中,点击高级配置。
从 CPU 平台下拉菜单中,选择一个选项。
继续实例模板创建过程。
使用
gcloud compute instance-templates create
命令创建实例模板时,请提供--min-cpu-platform
标志:gcloud compute instance-templates create TEMPLATE_NAME \ --min-cpu-platform="PLATFORM"
请替换以下内容:
TEMPLATE_NAME
:实例模板的名称PLATFORM
:您希望实例使用的最低要求 CPU 平台的易记名称,例如Intel Skylake
添加
minCpuPlatform
作为请求的一部分,以使用instanceTemplates.insert
方法创建新的实例模板。例如,以下实例模板包含了创建新模板所需的最低必填字段,并添加了
minCpuPlatform
属性:{ "name": "example-template", "properties": { "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2", "minCpuPlatform": "AMD Milan", "networkInterfaces": [ { "network": "global/networks/default" } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11" } } ] } }
- 查看 Compute Engine 上的 CPU 平台列表。
- 更改虚拟机的机器类型。
- 详细了解区域和可用区。
- 创建并启动 Windows Server 或 SQL Server 实例。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色和权限
如需获得更改满足最低要求的 CPU 平台所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
何时选择最低要求 CPU 平台
您很可能无需选择最低要求 CPU 平台。每个 Compute Engine 可用区均为每个机器系列提供了一个默认的 CPU 平台。添加新服务器时,Google 偶尔会更改可用区的默认 CPU。如果您没有为虚拟机指定满足最低要求的 CPU 平台,则虚拟机会获得与其机器类型和可用区关联的默认 CPU 平台。
Google 建议您在以下情况下仅选择满足最低要求的 CPU 平台:
为您的虚拟机选择最低要求 CPU 平台会引入一些限制,这些限制会影响您在某些 CPU 平台供应有限的可用区中启动虚拟机的能力。
选择最低要求 CPU 平台后的工作方式
Compute Engine 总是尽可能使用最低要求 CPU 平台。 如果 Google 更改了某个可用区中的 CPU 平台,则在您停止并重启虚拟机时,虚拟机可以继续在该可用区中可用的较新 CPU 平台上运行。
为虚拟机选择满足最低要求的 CPU 平台后,除非您停止虚拟机并更改 CPU 平台,否则虚拟机会使用此 CPU 平台。在实时迁移期间,虚拟机会保留所选的 CPU 平台。
限制
CPU 平台的可用性
CPU 平台的可用性因可用区而异,并且取决于每个可用区提供的硬件和机器系列。以下列表显示了支持的最低要求 CPU 平台和每个平台的有效语法:
按可用区查看可用的 CPU 平台
只有特定区域和可用区包含同一机器系列的多个 CPU 平台且可用于选择满足最低要求的 CPU 平台。您可以使用 gcloud CLI 或 REST 查看特定可用区支持的平台列表。
如果您使用的是单租户节点,则每个节点都会使用与您在节点模板中定义的节点类型对应的 CPU 平台。
gcloud
REST
对 CPU 平台的默认更改
有时,Google 会更改 CPU 平台或更新默认的 CPU 平台。随着可用区容量增加,Google 会在较新 CPU 平台可用时主动切换到该平台。它会将默认 CPU 平台更新为该可用区中可用的下一个最新 CPU 平台。
当可用区的默认 CPU 平台更改时,Google 会通知受影响的客户,并提供改用较新平台的详细时间表和具体说明。
虚拟机使用的平台绝对不会早于您指定的最低要求 CPU 平台。如果 Compute Engine 将您的虚拟机转换到较新的平台上,则虚拟机的费用不会改变。
为新的虚拟机选择满足最低要求的 CPU 平台
创建虚拟机时,您需要选择机器系列和机器类型。机器系列可能会在多个 CPU 平台上提供。在这种情况下,您可以指定希望虚拟机使用的满足最低要求的 CPU 平台。
控制台
gcloud
REST
为现有虚拟机设置满足最低要求的 CPU 平台
您可以为现有虚拟机设置满足最低要求的 CPU 平台。您必须先停止虚拟机,然后再设置满足最低要求的 CPU 平台。
控制台
gcloud
REST
移除满足最低要求的 CPU 平台设置
您可以将虚拟机更新为使用默认 CPU 平台,而不是使用满足最低要求的 CPU 平台。如果虚拟机正在运行,则必须先停止该虚拟机,然后再进行更改。
控制台
gcloud
REST
在实例模板中指定满足最低要求的 CPU 平台
如果您使用托管式实例组,则可以为托管式实例组中的虚拟机指定一个满足最低要求的 CPU 平台。
如需指定最低要求 CPU 平台,请创建一个实例模板(其包含
minCpuPlatform
属性)。控制台
gcloud
REST
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-22。
-