指定 Amazon EC2 執行個體的 CPU 選項 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

指定 Amazon EC2 執行個體的 CPU 選項

您可以透過 AWS Management Console、、 AWS CLI EC2 API 或 SDKs,在執行個體啟動期間或之後指定 CPU 選項。此頁面涵蓋 AWS Management Console 和 AWS CLI 方法,如下所示。

停用同時多執行緒

若要停用也稱為超執行緒的同時多執行緒 (SMT),請為每個核心指定 1 個執行緒。

Console
在執行個體啟動期間停用 SMT
  1. 遵照 使用主控台中的啟動執行個體精靈,啟動 EC2 執行個體 程序並視需要設定執行個體。

  2. 展開進階詳細資訊,然後選取指定 CPU 選項核取方塊。

  3. 針對 Core count (核心計數),選擇所需的 CPU 核心數量。在本範例中,若要指定 r5.4xlarge 執行個體的預設 CPU 核心計數,請選擇 8

  4. 若要停用 SMT,請在每核心執行緒中選擇 1

  5. Summary (摘要) 面板中,檢閱您的執行個體組態,然後選擇 Launch instance (啟動執行個體)。如需詳細資訊,請參閱使用主控台中的啟動執行個體精靈,啟動 EC2 執行個體

AWS CLI
在執行個體啟動期間停用 SMT

使用 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
注意

若要停用現有執行個體的 SMT,請依照 變更 EC2 執行個體的 CPU 選項 中所示的流程操作,並將每個核心執行的執行緒數量變更為 1

啟動時指定 vCPU 的自訂數量

當您從 EC2 主控台或 AWS CLI啟動執行個體時,您可以自訂 CPU 核心數量和每個核心的執行緒數量。本節中的範例使用具有下列預設設定的r5.4xlarge 執行個體類型:

  • CPU 核心:8

  • 每核心執行緒:2

執行個體啟動時,預設會有執行個體類型可用的 vCPUs 數量上限。對於此執行個體類型,總共 16 個 vCPU (8 個核心,每個執行 2 個執行緒)。如需有關此執行個體類型的詳細資訊,請參閱 記憶體最佳化執行個體

以下範例啟動有 4 個 vCPU 的 r5.4xlarge 執行個體。

Console
在執行個體啟動期間指定 vCPU 的自訂數量
  1. 遵照 使用主控台中的啟動執行個體精靈,啟動 EC2 執行個體 程序並視需要設定執行個體。

  2. 展開進階詳細資訊,然後選取指定 CPU 選項核取方塊。

  3. 指定 2 個 CPU 核心和每核心 2 個執行緒,即可得到 4 個 vCPU,如下所示:

    • 核心計數中,選擇 2

    • 針對 Threads per core (每核心執行緒),選擇 2

  4. Summary (摘要) 面板中,檢閱您的執行個體組態,然後選擇 Launch instance (啟動執行個體)。如需詳細資訊,請參閱使用主控台中的啟動執行個體精靈,啟動 EC2 執行個體

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 個執行緒 (停用 SMT),也可以產生 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 核心數量和每個核心的執行緒數量。本節中的範例使用具有下列預設設定的r5.4xlarge 執行個體類型:

  • CPU 核心:8

  • 每核心執行緒:2

執行個體啟動時,預設會有執行個體類型可用的 vCPUs 數量上限。對於此執行個體類型,總共 16 個 vCPU (8 個核心,每個執行 2 個執行緒)。如需有關此執行個體類型的詳細資訊,請參閱 記憶體最佳化執行個體

以下範例建立的啟動範本會指定具有 4 個 vCPU 的 r5.4xlarge 執行個體的組態。

Console
在啟動範本中指定 vCPU 的自訂數量
  1. 遵照 指定參數來建立啟動範本 程序並視需要設定啟動範本。

  2. 展開進階詳細資訊,然後選取指定 CPU 選項核取方塊。

  3. 指定 2 個 CPU 核心和每核心 2 個執行緒,即可得到 4 個 vCPU,如下所示:

    • 核心計數中,選擇 2

    • 針對 Threads per core (每核心執行緒),選擇 2

  4. 摘要面板中,檢閱執行個體組態,然後選擇建立啟動範本。如需詳細資訊,請參閱將執行個體啟動參數存放在 Amazon EC2 啟動範本中

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 個執行緒 (停用 SMT),也可以產生 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 } }

變更 EC2 執行個體的 CPU 選項

由於您的需求會隨著時間發生變化,您可能想要變更現有執行個體的 CPU 選項組態。每個在執行個體上執行的執行緒都稱為虛擬 CPU (vCPU)。您可以在 Amazon EC2 主控台 AWS CLI、API 或 SDKs vCPUs 數量。執行個體狀態必須是 Stopped,才能進行此變更。

若要檢視主控台或命令列步驟,請選取符合您環境的標籤。如需 API 請求和回應資訊,請參閱「Amazon EC2 API 參考」中的 ModifyInstanceCpuOptions

Console

請依照此程序操作,從 AWS Management Console變更執行個體的作用中 vCPU 數量。

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中選擇 (執行個體)。這會開啟為目前 AWS 區域定義的執行個體清單。

  3. 執行個體清單中,選取執行個體。或者,您可以選取執行個體連結以開啟執行個體詳細資訊頁面。

  4. 如果執行個體正在執行,您必須先將其停止才能繼續。從執行個體狀態功能表中,選擇停止執行個體

  5. 若要變更 vCPU 組態,請從動作功能表的執行個體設定中,選擇變更 CPU 選項。這會開啟變更 CPU 選項頁面。

  6. 選擇下列其中一個 CPU 選項,以變更執行個體的組態。

    此選項會將執行個體重設為執行個體類型的預設 vCPUs 數量。預設為執行所有 CPU 核心的所有執行緒。

    指定 CPU 選項

    此選項會啟用在執行個體上執行的 vCPUs 數量組態。

  7. 如果您選取指定 CPU 選項,則會顯示作用中 vCPU 的組態。

    • 第一個選擇工具會設定為每個 CPU 核心執行的執行緒數量。若要停用同時多執行緒,您可以將每個核心執行的執行緒數量變更為 1

    • 第二個選擇工具會設定為執行個體執行的 CPU 數量。

    當您對 CPU 選項選擇工具進行變更時,以下欄位會動態更新。

    • 作用中 vCPU:根據您所進行的選擇,CPU 核心的數量乘以每核心執行緒。例如,如果您選取 2 個執行緒和 4 個核心,則等於 8 vCPU。

    • vCPUs 總數:執行個體類型的 vCPU 數量上限。例如,對於 m6i.4xlarge 執行個體類型,這是 16 個 vCPU (8 個核心,每個執行 2 個執行緒)。

  8. 若要套用您的更新,請選擇變更

AWS CLI

請依照此程序操作,從 AWS CLI變更執行個體的作用中 vCPU 數量。

使用 modify-instance-cpu-options 命令,並指定--core-count參數中執行的 CPU 核心數量,以及--threads-per-core參數中每個核心執行的執行緒數量。

下列範例顯示 m6i.4xlarge 執行個體類型上兩個可能的組態,以在指定的執行個體上執行 8 個 vCPU。此執行個體類型的預設值為 16 個 vCPU (8 個核心,每個核心執行 2 個執行緒)。

範例 1:執行 4 個 CPU 核心,每個核心有 2 個執行緒,總共 8 個 vCPU。

aws ec2 modify-instance-cpu-options \ --instance-id i-1234567890abcdef0 \ --core-count=4 \ --threads-per-core=2

範例 2:將每個核心執行的執行緒數量變更為 1,停用同時多執行緒。產生的組態也會執行總共 8 vCPU (8 個 CPU 核心,每個核心 1 個執行緒)。

aws ec2 modify-instance-cpu-options \ --instance-id i-1234567890abcdef0 \ --core-count=8 \ --threads-per-core=1