ECS インスタンスの CPU オプションには、CPU コア数とコアあたりのスレッド数が含まれます。 一部の ECS インスタンスタイプでは、RunInstances 操作を呼び出してインスタンスを作成するときに、インスタンスの CPU オプションをカスタマイズできます。

CPU と vCPU

CPU は、ECS インスタンスの物理プロセッサーです。 Alibaba Cloud ECS インスタンスは、Hyper-Threading (HT) テクノロジーを使用して、単一の CPU コアで複数のスレッドを同時に実行できるようにします。 各 CPU スレッドは、仮想 CPU (vCPU) として仮想化されます。

次の表に、ECS インスタンスの CPU オプションのパラメーターを示します。

CPU オプション API パラメーター 機能 シナリオ 適用可能なインスタンスタイプ
CPU コア数 CpuOptions.Core 物理 CPU コアの数を決定します。 メモリ最適化インスタンスタイプの CPU コアの数を増やして、インスタンスのパフォーマンスを大幅に改善し、ソフトウェアのライセンスコストを最適化できます。 このオプションはカスタマイズできず、デフォルト値が使用されます。
コアあたりのスレッド数 CpuOptions.ThreadsPerCore vCPU の総数を決定します。

vCPU 数 = CPU コア数 × コアあたりのスレッド数。

ほとんどの場合、ECS インスタンスタイプは、ワークロードに合わせて十分なコアあたりスレッド数を提供します。 このパラメーターは、次のようなシナリオに合わせてカスタマイズできます。
  • ハイパフォーマンスコンピューティング (HPC) ワークロード
  • メモリ集約型のビジネスニーズ
詳細については、「CPUコア数とコアあたりスレッド数」をご参照ください。

課金

CPU オプションをカスタマイズしても、追加料金は発生しません。

制限事項

  • CPU オプションはインスタンスの作成時にのみカスタマイズでき、インスタンスの作成後に変更することはできません。
  • ECS インスタンスのインスタンスタイプを変更すると、そのインスタンスの CPU オプションは、新しいインスタンスタイプのデフォルトの CPU オプションに変更されます。
  • CPU コア数はカスタマイズできません。
  • CPU オプションのカスタマイズをサポートしているのは、g6、r6、c6、hfc6、hfg6、および hfr6 インスタンスファミリーのみです。 CPU オプションの有効な値については、「CPUコア数とコアあたりスレッド数」をご参照ください。

Hyper-Threading の有効化または無効化

RunInstances 操作を呼び出して、ECS インスタンスの CPU オプションをカスタマイズできます。 SDK を使用している場合は、最新バージョンにアップグレードしてください。

  • ECS インスタンスは、デフォルトで Hyper-Threading が有効です。 Alibaba Cloud CLI で Hyper-Threading を有効化できます。次にリクエスト例を示します。
    aliyun ecs RunInstances --RegionId cn-hangzhou --CpuOptions.Core 2 --CpuOptions.ThreadsPerCore 2 --ImageId ubuntu_18_04_64_20G_alibase_20190624.vhd --InstanceType ecs.g6.6xlarge --SecurityGroupId sg-bp67acfmxazb4ph*** --VSwitchId vsw-bp1s5fnvk4gn2tws03*** --Amount 1 --SystemDisk.AutoSnapshotPolicyId sp-bp67acfmxazb4ph***
  • Hyper-Threading を無効化するには、Alibaba Cloud CLI で CpuOptions. ThreadsPerCore パラメーターを 1 に設定します。次にリクエスト例を示します。
    aliyun ecs RunInstances --RegionId cn-hangzhou --CpuOptions.Core 2 --CpuOptions.ThreadsPerCore 1 --ImageId ubuntu_18_04_64_20G_alibase_20190624.vhd --InstanceType ecs.g6.6xlarge --SecurityGroupId sg-bp67acfmxazb4ph*** --VSwitchId vsw-bp1s5fnvk4gn2tws03*** --Amount 1 --SystemDisk.AutoSnapshotPolicyId sp-bp67acfmxazb4ph***
この例では、ecs.g6.xlarge インスタンスタイプは 2 つの物理 CPU コアを提供します。
  • Hyper-Threading の有効化:コアあたりのスレッド数を 2 に設定することにより、Hyper-Threading を有効化できます。 このインスタンスタイプの vCPU 数は、CPU コア数にコアあたりのスレッド数を掛けて、4 つになります。 このインスタンスタイプでは、Hyper-Threading がデフォルトで有効になっています。
  • Hyper-Threading の無効化:コアあたりのスレッド数を 1 に設定することにより、Hyper-Threading を無効化できます。 このインスタンスタイプでは、vCPU が 2 つだけになります。

CPU オプションの取得

DescribeInstances 操作を呼び出して、ECS インスタンスに指定された CPU オプションを取得できます。 SDK を使用している場合は、最新バージョンにアップグレードしてください。

  • Alibaba Cloud CLI のリクエスト例:
    aliyun ecs DescribeInstances --InstanceIds '["i-bp19rxmzeocge2z57***"]' --output cols=CpuOptions rows=Instances.Instance[]
  • Alibaba Cloud CLI のレスポンス例:
    CpuOptions
    ----------
    map[CoreCount:1 ThreadsPerCore:2]
  • シェルコマンド lscpu を使用したコード例:
    shell@ecshost:~$ lscpu
    Architecture:        x86_64
    Byte Order:          Little Endian
    CPU(s):              1   # Number of CPU cores
    On-line CPU(s) list: 0
    Thread(s) per core:  2   # Number of threads per core
    Core(s) per socket:  1
    Socket(s):           1
    Vendor ID:           GenuineIntel
    CPU family:          6
    Model:               85
    Model name:          Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
    ......

CPUコア数とコアあたりスレッド数

次の表に、CPU コア数 (CpuOptions.Core) およびコアあたりスレッド数 (CpuOptions.ThreadsPerCore) について、デフォルト値および有効な値を示します。 表にないインスタンスタイプは、CPU オプションのカスタマイズをサポートしていません。

インスタンスタイプ vCPU 数のデフォルト値 CPU コア数のデフォルト値 コアあたりスレッド数のデフォルト値 コアあたりスレッド数の有効な値
ecs.g6.large 2 1 2 1、2
ecs.g6.xlarge 4 2 2 1、2
ecs.g6.2xlarge 8 4 2 1、2
ecs.g6.3xlarge 12 6 2 1、2
ecs.g6.4xlarge 16 8 2 1、2
ecs.g6.6xlarge 24 12 2 1、2
ecs.g6.8xlarge 32 16 2 1、2
ecs.g6.13xlarge 52 26 2 1、2
ecs.g6.26xlarge 104 52 2 1、2
ecs.r6.large 2 1 2 1、2
ecs.r6.xlarge 4 2 2 1、2
ecs.r6.2xlarge 8 4 2 1、2
ecs.r6.3xlarge 12 6 2 1、2
ecs.r6.4xlarge 16 8 2 1、2
ecs.r6.6xlarge 24 12 2 1、2
ecs.r6.8xlarge 32 16 2 1、2
ecs.r6.13xlarge 52 26 2 1、2
ecs.r6.26xlarge 104 52 2 1、2
ecs.c6.large 2 1 2 1、2
ecs.c6.xlarge 4 2 2 1、2
ecs.c6.2xlarge 8 4 2 1、2
ecs.c6.3xlarge 12 6 2 1、2
ecs.c6.4xlarge 16 8 2 1、2
ecs.c6.6xlarge 24 12 2 1、2
ecs.c6.8xlarge 32 16 2 1、2
ecs.c6.13xlarge 52 26 2 1、2
ecs.c6.26xlarge 104 52 2 1、2
ecs.hfc6.large 2 1 2 1、2
ecs.hfc6.xlarge 4 2 2 1、2
ecs.hfc6.2xlarge 8 4 2 1、2
ecs.hfc6.3xlarge 12 6 2 1、2
ecs.hfc6.4xlarge 16 8 2 1、2
ecs.hfc6.6xlarge 24 12 2 1、2
ecs.hfc6.8xlarge 32 16 2 1、2
ecs.hfc6.10xlarge 40 20 2 1、2
ecs.hfc6.16xlarge 64 32 2 1、2
ecs.hfc6.20xlarge 80 40 2 1、2
ecs.hfg6.large 2 1 2 1、2
ecs.hfg6.xlarge 4 2 2 1、2
ecs.hfg6.2xlarge 8 4 2 1、2
ecs.hfg6.3xlarge 12 6 2 1、2
ecs.hfg6.4xlarge 16 8 2 1、2
ecs.hfg6.6xlarge 24 12 2 1、2
ecs.hfg6.8xlarge 32 16 2 1、2
ecs.hfg6.10xlarge 40 20 2 1、2
ecs.hfg6.16xlarge 64 32 2 1、2
ecs.hfg6.20xlarge 80 40 2 1、2
ecs.hfr6.large 2 1 2 1、2
ecs.hfr6.xlarge 4 2 2 1、2
ecs.hfr6.2xlarge 8 4 2 1、2
ecs.hfr6.3xlarge 12 6 2 1、2
ecs.hfr6.4xlarge 16 8 2 1、2
ecs.hfr6.6xlarge 24 12 2 1、2
ecs.hfr6.8xlarge 32 16 2 1、2
ecs.hfr6.10xlarge 40 20 2 1、2
ecs.hfr6.16xlarge 64 32 2 1、2
ecs.hfr6.20xlarge 80 40 2 1、2