本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
指定 Amazon EC2 執行個體的 CPU 選項
您可以透過 AWS Management Console、、 AWS CLI EC2 API 或 SDKs,在執行個體啟動期間或之後指定 CPU 選項。此頁面涵蓋 AWS Management Console 和 AWS CLI 方法,如下所示。
停用同時多執行緒
若要停用也稱為超執行緒的同時多執行緒 (SMT),請為每個核心指定 1 個執行緒。
- Console
-
在執行個體啟動期間停用 SMT
-
遵照 使用主控台中的啟動執行個體精靈,啟動 EC2 執行個體 程序並視需要設定執行個體。
-
展開進階詳細資訊,然後選取指定 CPU 選項核取方塊。
-
針對 Core count (核心計數),選擇所需的 CPU 核心數量。在本範例中,若要指定 r5.4xlarge
執行個體的預設 CPU 核心計數,請選擇 8
。
-
若要停用 SMT,請在每核心執行緒中選擇 1。
-
在 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
啟動時指定 vCPU 的自訂數量
當您從 EC2 主控台或 AWS CLI啟動執行個體時,您可以自訂 CPU 核心數量和每個核心的執行緒數量。本節中的範例使用具有下列預設設定的r5.4xlarge
執行個體類型:
執行個體啟動時,預設會有執行個體類型可用的 vCPUs 數量上限。對於此執行個體類型,總共 16 個 vCPU (8 個核心,每個執行 2 個執行緒)。如需有關此執行個體類型的詳細資訊,請參閱 記憶體最佳化執行個體。
以下範例啟動有 4 個 vCPU 的 r5.4xlarge
執行個體。
- Console
-
- 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
執行個體類型:
執行個體啟動時,預設會有執行個體類型可用的 vCPUs 數量上限。對於此執行個體類型,總共 16 個 vCPU (8 個核心,每個執行 2 個執行緒)。如需有關此執行個體類型的詳細資訊,請參閱 記憶體最佳化執行個體。
以下範例建立的啟動範本會指定具有 4 個 vCPU 的 r5.4xlarge
執行個體的組態。
- Console
-
- 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 數量。
在 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。
-
在左側導覽窗格中選擇 (執行個體)。這會開啟為目前 AWS 區域定義的執行個體清單。
-
從執行個體清單中,選取執行個體。或者,您可以選取執行個體連結以開啟執行個體詳細資訊頁面。
-
如果執行個體正在執行,您必須先將其停止才能繼續。從執行個體狀態功能表中,選擇停止執行個體。
-
若要變更 vCPU 組態,請從動作功能表的執行個體設定中,選擇變更 CPU 選項。這會開啟變更 CPU 選項頁面。
-
選擇下列其中一個 CPU 選項,以變更執行個體的組態。
- 無
-
此選項會將執行個體重設為執行個體類型的預設 vCPUs 數量。預設為執行所有 CPU 核心的所有執行緒。
- 指定 CPU 選項
-
此選項會啟用在執行個體上執行的 vCPUs 數量組態。
-
如果您選取指定 CPU 選項,則會顯示作用中 vCPU 的組態。
當您對 CPU 選項選擇工具進行變更時,以下欄位會動態更新。
-
若要套用您的更新,請選擇變更。
- 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