Specify CPU options for your instance - Amazon Elastic Compute Cloud
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

Specify CPU options for your instance

You can specify CPU options during instance launch.

The following examples describe how to specify the CPU options when using the launch instance wizard and the run-instances Amazon CLI command. You can also use a launch template to specify the CPU options. However, if you use the Amazon EC2 console, the launch template screen currently does not provide a field for specifying the CPU options, but you can specify the CPU options by using the create-launch-template Amazon CLI command. For EC2 Fleet or Spot Fleet, you must specify the CPU options in a launch template.

The following examples are for an r4.4xlarge instance type, which has the following default values:

  • Default CPU cores: 8

  • Default threads per core: 2

  • Default vCPUs: 16 (8 * 2)

  • Valid number of CPU cores: 1, 2, 3, 4, 5, 6, 7, 8

  • Valid number of threads per core: 1, 2

Disable multithreading

To disable multithreading, specify one thread per core.

To disable multithreading during instance launch (console)

  1. Follow the Launch an instance using the old launch instance wizard procedure.

  2. On the Configure Instance Details page, for CPU options, choose Specify CPU options.

  3. For Core count, choose the number of required CPU cores. In this example, to specify the default CPU core count for an r4.4xlarge instance, choose 8.

  4. To disable multithreading, for Threads per core, choose 1.

  5. Continue as prompted by the wizard. When you've finished reviewing your options on the Review Instance Launch page, choose Launch. For more information, see Launch an instance using the old launch instance wizard.

To disable multithreading during instance launch (Amazon CLI)

Use the run-instances Amazon CLI command and specify a value of 1 for ThreadsPerCore for the --cpu-options parameter. For CoreCount, specify the number of CPU cores. In this example, to specify the default CPU core count for an r4.4xlarge instance, specify a value of 8.

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

Specify a custom number of vCPUs

You can customize the number of CPU cores and threads per core for the instance.

To specify a custom number of vCPUs during instance launch (console)

The following example launches an r4.4xlarge instance with six vCPUs.

  1. Follow the Launch an instance using the old launch instance wizard procedure.

  2. On the Configure Instance Details page, for CPU options, choose Specify CPU options.

  3. To get six vCPUs, specify three CPU cores and two threads per core, as follows:

    • For Core count, choose 3.

    • For Threads per core, choose 2.

  4. Continue as prompted by the wizard. When you've finished reviewing your options on the Review Instance Launch page, choose Launch. For more information, see Launch an instance using the old launch instance wizard.

To specify a custom number of vCPUs during instance launch (Amazon CLI)

The following example launches an r4.4xlarge instance with six vCPUs.

Use the run-instances Amazon CLI command and specify the number of CPU cores and number of threads in the --cpu-options parameter. You can specify three CPU cores and two threads per core to get six vCPUs.

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

Alternatively, specify six CPU cores and one thread per core (disable multithreading) to get six vCPUs:

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