指定实例的 CPU 选项 - Amazon Elastic Compute Cloud

指定实例的 CPU 选项

可以在实例启动期间指定 CPU 选项。

以下示例介绍了如何在使用 EC2 控制台中的启动实例向导和 run-instances AWS CLI 命令以及 EC2 控制台中的创建启动模板页面和 create-launch-template AWS CLI 命令时指定 CPU 选项。对于 EC2 机群或竞价型实例集,您必须在启动模板中指定 CPU 选项。

以下示例适用于 r5.4xlarge 实例类型,该实例类型具有以下默认值

  • 默认 CPU 核心数:8

  • 默认每核心线程数:2

  • 默认 vCPU:16 (8 * 2)

  • 有效的 CPU 内核数:2、4、6、8

  • 有效的每核心线程数:1、2

禁用多线程

要禁用多线程技术,请为每个内核指定 1 个线程。

New console
在实例启动期间禁用多线程技术
  1. 按照 快速启动实例 程序进行操作并根据需要配置实例。

  2. 展开高级详细信息,然后选中指定 CPU 选项复选框。

  3. 对于 Core count (内核数),选择所需的 CPU 内核数量。在此示例中,要为 r5.4xlarge 实例指定默认 CPU 内核数,请选择 8

  4. 要禁用多线程技术,请为每内核线程数选择 1

  5. Summary(摘要)面板中查看实例配置,然后选择 Launch instance(启动实例)。有关更多信息,请参阅 使用新启动实例向导启动实例

Old console
在实例启动期间禁用多线程技术
  1. 按照使用旧的启动实例向导启动实例过程操作。

  2. Configure Instance Details (配置实例详细信息) 页面上,为 CPU options (CPU 选项) 选择 Specify CPU options (指定 CPU 选项)

  3. 对于 Core count (内核数),选择所需的 CPU 内核数量。在此示例中,要为 r5.4xlarge 实例指定默认 CPU 内核数,请选择 8

  4. 要禁用多线程技术,请为每内核线程数选择 1

  5. 根据向导的提示继续。检查完核查实例启动页面上的选项后,选择启动。有关更多信息,请参阅 使用旧的启动实例向导启动实例

AWS CLI
在实例启动期间禁用多线程技术

使用 run-instances AWS CLI 命令,并将 1 参数的 ThreadsPerCore 值指定为 --cpu-options。对于 CoreCount,请指定 CPU 内核的数量。在此示例中,要为 r5.4xlarge 实例指定默认 CPU 内核数,请指定值 8

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type r5.4xlarge \ --cpu-options "CoreCount=8,ThreadsPerCore=1" \ --key-name MyKeyPair

在启动时指定自定义 vCPU 数

您可以为实例自定义 CPU 内核数和每个内核的线程数。

以下示例启动一个具有 4 个 vCPU 的 r5.4xlarge 实例。

New console
在实例启动期间指定自定义 vCPU 数量
  1. 按照 快速启动实例 程序进行操作并根据需要配置实例。

  2. 展开高级详细信息,然后选中指定 CPU 选项复选框。

  3. 要获得 4 个 vCPU,请指定 2 个 CPU 内核并为每个内核指定 2 个线程,如下所示:

    • 对于内核数,选择 2

    • 对于 Threads per core (每内核线程数),选择 2

  4. Summary(摘要)面板中查看实例配置,然后选择 Launch instance(启动实例)。有关更多信息,请参阅 使用新启动实例向导启动实例

Old console
在实例启动期间指定自定义 vCPU 数量
  1. 按照使用旧的启动实例向导启动实例过程操作。

  2. Configure Instance Details (配置实例详细信息) 页面上,为 CPU options (CPU 选项) 选择 Specify CPU options (指定 CPU 选项)

  3. 要获得 4 个 vCPU,请指定 2 个 CPU 内核并为每个内核指定 2 个线程,如下所示:

    • 对于内核数,选择 2

    • 对于 Threads per core (每内核线程数),选择 2

  4. 根据向导的提示继续。检查完核查实例启动页面上的选项后,选择启动。有关更多信息,请参阅 使用旧的启动实例向导启动实例

AWS CLI
在实例启动期间指定自定义 vCPU 数量

使用 run-instances AWS CLI 命令,并在 --cpu-options 参数中指定 CPU 内核数和线程数。可以指定 2 个 CPU 核心并为每个核心指定 2 个线程,从而获得 4 个 vCPU。

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type r5.4xlarge \ --cpu-options "CoreCount=2,ThreadsPerCore=2" \ --key-name MyKeyPair

或者,也可以通过指定 4 个 CPU 内核并为每个内核指定 1 个线程(禁用多线程技术)来获得 4 个 vCPU:

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type r5.4xlarge \ --cpu-options "CoreCount=4,ThreadsPerCore=1" \ --key-name MyKeyPair

在启动模板中指定自定义 vCPU 数

您可以在启动模板中自定义实例的 CPU 核心数和每个核心的线程数。

以下示例创建了一个启动模板,该模板指定具有 4 个 vCPU 的 r5.4xlarge 实例的配置。

Console
要在启动模板中指定自定义 vCPU 数
  1. 按照 根据参数创建启动模板 程序进行操作并根据需要配置启动模板。

  2. 展开高级详细信息,然后选中指定 CPU 选项复选框。

  3. 要获得 4 个 vCPU,请指定 2 个 CPU 内核并为每个内核指定 2 个线程,如下所示:

    • 对于内核数,选择 2

    • 对于 Threads per core (每内核线程数),选择 2

  4. 摘要面板中查看实例配置,然后选择创建启动模板。有关更多信息,请参阅 通过启动模板启动实例

AWS CLI
要在启动模板中指定自定义 vCPU 数

使用 create-launch-template AWS CLI 命令,并在 CpuOptions 参数中指定 CPU 核心数和线程数。可以指定 2 个 CPU 核心并为每个核心指定 2 个线程,从而获得 4 个 vCPU。

aws ec2 create-launch-template \ --launch-template-name TemplateForCPUOptions \ --version-description CPUOptionsVersion1 \ --launch-template-data file://template-data.json

下面是一个示例 JSON 文件,其中包含启动模板数据,包括本示例的实例配置的 CPU 选项。

{ "NetworkInterfaces": [{ "AssociatePublicIpAddress": true, "DeviceIndex": 0, "Ipv6AddressCount": 1, "SubnetId": "subnet-7b16de0c" }], "ImageId": "ami-8c1be5f6", "InstanceType": "r5.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }], "CpuOptions": { "CoreCount":2, "ThreadsPerCore":2 } }

或者,也可以通过指定 4 个 CPU 内核并为每个内核指定 1 个线程(禁用多线程技术)来获得 4 个 vCPU:

{ "NetworkInterfaces": [{ "AssociatePublicIpAddress": true, "DeviceIndex": 0, "Ipv6AddressCount": 1, "SubnetId": "subnet-7b16de0c" }], "ImageId": "ami-8c1be5f6", "InstanceType": "r5.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }], "CpuOptions": { "CoreCount":4, "ThreadsPerCore":1 } }