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 インスタンスタイプは、ワークロードに合わせて十分なコアあたりスレッド数を提供します。 このパラメーターは、次のようなシナリオに合わせてカスタマイズできます。
|
詳細については、「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***
- 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 |