全部產品
Search
文件中心

Elastic Compute Service:修改CPU超執行緒配置以最佳化執行個體效能

更新時間:Jun 14, 2025

為提升執行個體效能,阿里雲預設為大多數執行個體規格啟用超執行緒,將一個物理核心劃分為2個邏輯核心。但針對記憶體密集型或高單核效能需求情境,關閉超執行緒反而可以最佳化效能表現,降低軟體許可證費用。

適用情境

阿里雲預設為大多數執行個體規格啟用了超執行緒技術(Hyper-Threading),以提升多線程效能。但在某些特定業務情境下,關閉超執行緒反而有助於提升整體效能或實現成本最佳化。以下是幾種關閉超執行緒的典型情境。

  • 記憶體密集性業務情境關閉超執行緒以提升效能

    對於記憶體密集性業務,例如快取服務等,可能並不需要大量並發線程,因此可以關閉超執行緒,最佳化算存比,提升商務服務的效能。

  • 高單核效能需求情境關閉超執行緒以提升效能

    對於高單核效能需求情境,關閉超執行緒可以減少因線程競爭、環境切換造成的效能開銷。

  • 工業模擬/設計情境關閉超執行緒以減少軟體許可證的費用

    部分工業模擬軟體、設計軟體以及部分作業系統,軟體許可證(License)可能按核心數量計費,減少啟用的CPU核心數或關閉超執行緒以降低物理/邏輯核心數量,可有效節省軟體許可證費用。

計費說明

更改CPU選項(調整啟用的CPU數量和超執行緒設定)不會產生額外費用。

使用限制

  • 部分規格類型系列僅可通過API/CLI/SDK等方式設定CPU選項。

  • 僅部分規格的執行個體支援設定CPU選項(調整啟用的CPU數量和超執行緒設定),且不同規格支援的參數範圍有所差異。

    說明

    單擊下方對應執行個體規格連結查看各執行個體規格支援設定的啟用CPU數量(CPU物理核心數)與超執行緒配置(每核線程數)的取值。

操作步驟

您可以在建立執行個體時設定CPU選項,也可更改已有執行個體的CPU選項。

建立執行個體時設定CPU核心數與超執行緒設定

您可以在建立執行個體時,調整啟用的CPU核心數和超執行緒設定。具體操作如下:

控制台

您可以在自訂購買執行個體時,通過進階選項 > CPU選項設定執行個體啟用的物理核心數與開關超執行緒。相關配置項說明如下:

  • 每核心線程數:該參數控制是否開啟超執行緒。僅可選擇特定值,選擇1代表關閉超執行緒。

  • 核心計數:該參數控制啟用的物理核心數。僅可選擇特定值。

image

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

核心參數說明如下:

  • CpuOptions.Core:執行個體啟用的物理核心數。僅部分規格支援調整,且只能配置特定的值,具體請參見使用限制

  • CpuOptions.ThreadsPerCore:每核線程數,設定為1代表關閉超執行緒。僅部分規格支援調整,且僅能配置特定值,具體請參見使用限制

修改已有執行個體CPU核心數與超執行緒設定

如果需要調整已有執行個體的CPU核心數和超執行緒設定,需停止執行個體後,才能修改執行個體的CPU選項。操作步驟如下:

控制台

您可以在控制台通過以下步驟更改已有執行個體的CPU選項。

  1. 找到並停止需要更改CPU選項的執行個體。

    1. 訪問ECS控制台-執行個體

    2. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。地區

    3. 找到待操作執行個體,單擊操作列下停止根據介面提示完成停止操作。

image

  1. 修改執行個體CPU選項。

    1. 單擊image > 更改 CPU 選項

    2. 更改 CPU 選項對話方塊中,修改配置。配置項說明如下:

      • 執行個體總核心數:啟用的CPU核心數。僅可選擇特定值。

      • 每核心線程數:該參數控制是否開啟超執行緒。僅可選擇特定值,選擇1代表關閉超執行緒。

    3. 完成配置後單擊確定

image

  1. 重啟ECS執行個體。

    單擊操作列下的啟動按鈕。等待執行個體啟動完成。

API

您可以參考以下API調用流程,設定執行個體啟用的物理核心數與開關超執行緒。

  1. 調用StopInstance停止執行個體。

  2. 調用ModifyInstanceAttribute更改CPU選項。相關參數說明如下:

    參數名

    類型

    描述

    CpuOptions.Core

    integer

    執行個體啟用的物理核心數。僅部分規格支援調整,且只能配置特定的值,具體請參見使用限制

    CpuOptions.ThreadsPerCore

    integer

    每核線程數,設定為1代表關閉超執行緒。僅部分規格支援調整,且僅能配置特定值,具體請參見使用限制

  3. 調用StartInstance重新啟動執行個體,應用配置。

CLI

您可以參考以下CLI調用流程,設定執行個體啟用的物理核心數與開關超執行緒。

  1. 調用StopInstance停止執行個體。

    aliyun ecs StopInstance --region cn-hangzhou \
    --InstanceId i-bp1******
  2. 調用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

    核心配置項說明:

    • CpuOptions.Core:執行個體啟用的物理核心數。僅部分規格支援調整,且只能配置特定的值,具體請參見使用限制

    • CpuOptions.ThreadsPerCore:每核線程數,設定為1代表關閉超執行緒。僅部分規格支援調整,且僅能配置特定值,具體請參見使用限制

  3. 調用StartInstance重新啟動ECS執行個體。

    aliyun ecs StartInstance --region cn-hangzhou \
    --InstanceId i-bp1******

相關文檔

  • CPU選項修改成功後,建議進行系統穩定性測試,以確保系統能夠正常運行。您可以運行一些負載測試或應用情境測試,觀察系統的響應和效能表現。

  • ECS執行個體建立成功後,您可以監測系統的效能指標和資源利用情況,並根據需要進行最佳化。更多資訊,請參見查看執行個體監控資訊

  • 在虛擬化環境、多線程編程、高效能運算等不同情境下,您可以查看和修改CPU拓撲結構CpuOptions.TopologyType)來提高ECS執行個體效能、提升並行性以及最佳化資源分派。