為提升執行個體效能,阿里雲預設為大多數執行個體規格啟用超執行緒,將一個物理核心劃分為2個邏輯核心。但針對記憶體密集型或高單核效能需求情境,關閉超執行緒反而可以最佳化效能表現,降低軟體許可證費用。
適用情境
阿里雲預設為大多數執行個體規格啟用了超執行緒技術(Hyper-Threading),以提升多線程效能。但在某些特定業務情境下,關閉超執行緒反而有助於提升整體效能或實現成本最佳化。以下是幾種關閉超執行緒的典型情境。
記憶體密集性業務情境關閉超執行緒以提升效能
對於記憶體密集性業務,例如快取服務等,可能並不需要大量並發線程,因此可以關閉超執行緒,最佳化算存比,提升商務服務的效能。
高單核效能需求情境關閉超執行緒以提升效能
對於高單核效能需求情境,關閉超執行緒可以減少因線程競爭、環境切換造成的效能開銷。
工業模擬/設計情境關閉超執行緒以減少軟體許可證的費用
部分工業模擬軟體、設計軟體以及部分作業系統,軟體許可證(License)可能按核心數量計費,減少啟用的CPU核心數或關閉超執行緒以降低物理/邏輯核心數量,可有效節省軟體許可證費用。
計費說明
更改CPU選項(調整啟用的CPU數量和超執行緒設定)不會產生額外費用。
使用限制
操作步驟
您可以在建立執行個體時設定CPU選項,也可更改已有執行個體的CPU選項。
建立執行個體時設定CPU核心數與超執行緒設定
您可以在建立執行個體時,調整啟用的CPU核心數和超執行緒設定。具體操作如下:
控制台
您可以在自訂購買執行個體時,通過 設定執行個體啟用的物理核心數與開關超執行緒。相關配置項說明如下:
|
API
您可以在調用RunInstances建立並啟動執行個體時,設定執行個體啟用的物理核心數與開關超執行緒。相關參數說明如下:
參數名 | 類型 | 描述 |
CpuOptions.Core | integer | 執行個體啟用的物理核心數。僅部分規格支援調整,且只能配置特定的值,具體請參見使用限制。 |
CpuOptions.ThreadsPerCore | integer | 每核線程數,設定為1代表關閉超執行緒。僅部分規格支援調整,且僅能配置特定值,具體請參見使用限制。 |
CLI
您可以在通過CLI調用RunInstances建立並啟動執行個體時,設定執行個體啟用的物理核心數(CpuOptions.Core)與超執行緒配置(CpuOptions.ThreadsPerCore)。CLI命令樣本如下:
本命令含義:在建立ecs.g7.8xlarge規格(16個物理CPU核心)的執行個體時,設定啟用10個物理核心(CpuOptions.Core=10),並關閉超執行緒(CpuOptions.ThreadsPerCore=1)。
aliyun ecs RunInstances --RegionId cn-hangzhou \
--CpuOptions.Core 10 \
--CpuOptions.ThreadsPerCore 1 \
--ImageId aliyun_3_x64_20G_alibase_20250117.vhd \
--InstanceType ecs.g7.8xlarge \
--SecurityGroupId sg-bp1****** \
--VSwitchId vsw-bp1****** \
--SystemDisk.Category cloud_essd \
--Amount 1
核心參數說明如下:
修改已有執行個體CPU核心數與超執行緒設定
如果需要調整已有執行個體的CPU核心數和超執行緒設定,需停止執行個體後,才能修改執行個體的CPU選項。操作步驟如下:
控制台
您可以在控制台通過以下步驟更改已有執行個體的CPU選項。
| |
| |
|
API
您可以參考以下API調用流程,設定執行個體啟用的物理核心數與開關超執行緒。
調用StopInstance停止執行個體。
調用ModifyInstanceAttribute更改CPU選項。相關參數說明如下:
參數名
類型
描述
CpuOptions.Core
integer
執行個體啟用的物理核心數。僅部分規格支援調整,且只能配置特定的值,具體請參見使用限制。
CpuOptions.ThreadsPerCore
integer
每核線程數,設定為1代表關閉超執行緒。僅部分規格支援調整,且僅能配置特定值,具體請參見使用限制。
調用StartInstance重新啟動執行個體,應用配置。
CLI
您可以參考以下CLI調用流程,設定執行個體啟用的物理核心數與開關超執行緒。
調用StopInstance停止執行個體。
aliyun ecs StopInstance --region cn-hangzhou \ --InstanceId i-bp1******
調用ModifyInstanceAttribute更改CPU選項。
本命令含義:修改ID為i-bp1******的執行個體的CPU選項,啟用10個物理核心(CpuOptions.Core=10)並關閉超執行緒(CpuOptions.ThreadsPerCore=1)
aliyun ecs ModifyInstanceAttribute --region cn-hangzhou \ --InstanceId i-bp1****** \ --CpuOptions.Core 10 \ --CpuOptions.ThreadsPerCore 1
核心配置項說明:
調用StartInstance重新啟動ECS執行個體。
aliyun ecs StartInstance --region cn-hangzhou \ --InstanceId i-bp1******
相關文檔
CPU選項修改成功後,建議進行系統穩定性測試,以確保系統能夠正常運行。您可以運行一些負載測試或應用情境測試,觀察系統的響應和效能表現。
ECS執行個體建立成功後,您可以監測系統的效能指標和資源利用情況,並根據需要進行最佳化。更多資訊,請參見查看執行個體監控資訊。
在虛擬化環境、多線程編程、高效能運算等不同情境下,您可以查看和修改CPU拓撲結構(
CpuOptions.TopologyType
)來提高ECS執行個體效能、提升並行性以及最佳化資源分派。