阿里云服务器ECS管理实例自定义CPU选项
网站编辑2020-10-27 10:24:02577
阿里云服务器ECS管理实例自定义CPU选项,例如,一台ECS实例的CPU选项由CPU物理核心数和每核线程数来决定的,其中有部分阿里云服务器ECS实例规格是支持通过API RunInstances购买实例时可以自定义设置关于CPU选项。管理实例自定义CPU选项CPU与vCPU
CPU是中央处理器,一个CPU可以包含若干个物理核,通过超线程HT(Hyper-Threading)技术可以将一个物理核变成两个逻辑处理核。vCPU(virtual CPU)是ECS实例的虚拟处理核。
什么是CPU?
中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU 自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。阿里云ECS的超线程的实现基于英特尔 ® HT技术,允许在一个物理核上并发地运行两个线程(Thread),一个线程可以视为一个vCPU。更多详情,请参见英特尔HT技术。
什么是vcpu?
vcpu即电脑中的虚拟处理器;相对于物理CPU而言,虚拟机内的CPU。通过在现有平台(机器)上添加一层虚拟机监控程序软件而实现对系统的虚拟化,如虚拟处理器(VCPU),虚拟内存管理器(MMU) 和虚拟I/O系统等。从应用程序的角度看,程序运行在虚拟机上与运行在其对应的实体计算机上一样。VCPU就是cpu的虚拟化技术,CPU的虚拟化就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
下表从多个维度对比了ECS实例的CPU选项参数。
| CPU选项 | API参数 | 作用 | 适用场景 | 适用的实例规格 |
|---|---|---|---|---|
| CPU物理核心数 | CpuOptions.Core | 决定启用的CPU物理核心数。 | 减少启用的CPU物理核心数,提高内存配比,收费对象减少也可以降低软件许可费支出。 | 请参见下面CPU物理核心数与线程数取值表。 |
| 每核线程数 | CpuOptions.ThreadsPerCore | 决定CPU是否开启超线程。 vCPU数量=CPU物理核心数*每核线程数。 | 通常,ECS实例规格能应对常见的工作负载。在以下场景中,您可以考虑关闭超线程:
|
典名科技友情提醒关于自定义CPU选项的计费:阿里云这边自定义CPU选项是不会产生额外计费。
自定义CPU选项的使用限制
支持自定义CPU选项的实例规格族如下,各规格族的CPU选项相关数据请参见CPU物理核心数与线程数取值表。
。hfg7、hfc7、hfr7
。g6t、c6t
。g6e、c6e、r6e
。g6、c6、r6
。hfg6、hfc6、hfr6
您只能在创建ECS实例时自定义CPU选项,成功创建实例后不允许修改。
例如,一台ECS实例如果已经自定义了CPU选项,操作了升降配后,这台ECS实例的CPU选项会被置为默认的CPU选项。
例如,一台ECS实例可提供的物理核由实例规格决定,您可以在取值范围内设置启用的CPU物理核心数,但不支持自定义取值范围外的数值。
开启或关闭超线程配置
您可以通过RunInstances(调用RunInstances创建一台或多台按量付费或者包年包月ECS实例。)自定义ECS实例的CPU选项。如果您使用的是SDK,请更新至最新版本。
- ECS实例默认开启超线程配置,开启CPU超线程配置的阿里云CLI请求示例:试用
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*** - 通过将参数CpuOptions.ThreadsPerCore置为1可以关闭CPU超线程配置,阿里云CLI请求示例:试用
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***
- 开启超线程:如果您将每核线程数置为2,则该实例规格有2*2=4个vCPU。默认情况下该实例规格开启超线程配置。
- 关闭超线程:如果您选择关闭超线程配置,则1个物理核只能运行1个线程,实例的vCPU数量等于物理核数,为2。
查看CPU选项
您可以通过DescribeInstances查看ECS实例的已经设定的CPU选项。如果您使用的是SDK,请更新至最新版本。
- 阿里云CLI请求示例:返回示例:试用
aliyun ecs DescribeInstances --InstanceIds '["i-bp19rxmzeocge2z57***"]' --output cols=CpuOptions rows=Instances.Instance[]CpuOptions ---------- map[CoreCount:1 ThreadsPerCore:2] - Shell命令lscpu示例:试用
shell@ecshost:~$ lscpu Architecture: x86_64 Byte Order: Little Endian CPU(s): 1 # CPU物理核心数 On-line CPU(s) list: 0 Thread(s) per core: 2 # 每核线程数 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.hfg7.large | 2 | 1 | 2 | 1、2 |
| ecs.hfg7.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.hfg7.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.hfg7.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.hfg7.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.hfg7.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.hfg7.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.hfg7.12xlarge | 48 | 2、4、6、8、10、12、14、16、18、20、22、24 | 2 | 1、2 |
| ecs.hfg7.24xlarge | 96 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.hfc7.large | 2 | 1 | 2 | 1、2 |
| ecs.hfc7.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.hfc7.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.hfc7.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.hfc7.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.hfc7.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.hfc7.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.hfc7.12xlarge | 48 | 2、4、6、8、10、12、14、16、18、20、22、24 | 2 | 1、2 |
| ecs.hfc7.24xlarge | 96 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.hfr7.large | 2 | 1 | 2 | 1、2 |
| ecs.hfr7.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.hfr7.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.hfr7.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.hfr7.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.hfr7.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.hfr7.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.hfr7.12xlarge | 48 | 2、4、6、8、10、12、14、16、18、20、22、24 | 2 | 1、2 |
| ecs.hfr7.24xlarge | 96 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.g6t.large | 2 | 1 | 2 | 1、2 |
| ecs.g6t.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.g6t.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.g6t.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.g6t.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.g6t.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.g6t.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.c6t.large | 2 | 1 | 2 | 1、2 |
| ecs.c6t.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.c6t.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.c6t.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.c6t.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.c6t.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.c6t.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.g6e.large | 2 | 1 | 2 | 1、2 |
| ecs.g6e.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.g6e.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.g6e.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.g6e.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.g6e.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.g6e.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.c6e.large | 2 | 1 | 2 | 1、2 |
| ecs.c6e.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.c6e.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.c6e.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.c6e.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.c6e.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.c6e.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.r6e.large | 2 | 1 | 2 | 1、2 |
| ecs.r6e.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.r6e.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.r6e.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.r6e.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.r6e.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.r6e.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.g6.large | 2 | 1 | 2 | 1、2 |
| ecs.g6.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.g6.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.g6.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.g6.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.g6.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.g6.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.g6.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.g6.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.c6.large | 2 | 1 | 2 | 1、2 |
| ecs.c6.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.c6.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.c6.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.c6.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.c6.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.c6.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.c6.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.c6.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.r6.large | 2 | 1 | 2 | 1、2 |
| ecs.r6.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.r6.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.r6.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.r6.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.r6.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.r6.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.r6.13xlarge | 52 | 2、4、6、8、10、12、14、16、18、20、22、24、26 | 2 | 1、2 |
| ecs.r6.26xlarge | 104 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.hfg6.large | 2 | 1 | 2 | 1、2 |
| ecs.hfg6.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.hfg6.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.hfg6.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.hfg6.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.hfg6.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.hfg6.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.hfg6.10xlarge | 40 | 2、4、6、8、10、12、14、16、18、20 | 2 | 1、2 |
| ecs.hfg6.16xlarge | 64 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 | 2 | 1、2 |
| ecs.hfg6.20xlarge | 80 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.hfc6.large | 2 | 1 | 2 | 1、2 |
| ecs.hfc6.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.hfc6.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.hfc6.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.hfc6.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.hfc6.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.hfc6.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.hfc6.10xlarge | 40 | 2、4、6、8、10、12、14、16、18、20 | 2 | 1、2 |
| ecs.hfc6.16xlarge | 64 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 | 2 | 1、2 |
| ecs.hfc6.20xlarge | 80 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40 | 2 | 1、2 |
| 实例规格 | 默认vCPU数 | CPU物理核心数取值范围 | 每核线程数默认值 | 每核线程数取值范围 |
|---|---|---|---|---|
| ecs.hfr6.large | 2 | 1 | 2 | 1、2 |
| ecs.hfr6.xlarge | 4 | 2 | 2 | 1、2 |
| ecs.hfr6.2xlarge | 8 | 2、4 | 2 | 1、2 |
| ecs.hfr6.3xlarge | 12 | 2、4、6 | 2 | 1、2 |
| ecs.hfr6.4xlarge | 16 | 2、4、6、8 | 2 | 1、2 |
| ecs.hfr6.6xlarge | 24 | 2、4、6、8、10、12 | 2 | 1、2 |
| ecs.hfr6.8xlarge | 32 | 2、4、6、8、10、12、14、16 | 2 | 1、2 |
| ecs.hfr6.10xlarge | 40 | 2、4、6、8、10、12、14、16、18、20 | 2 | 1、2 |
| ecs.hfr6.16xlarge | 64 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 | 2 | 1、2 |
| ecs.hfr6.20xlarge | 80 | 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40 | 2 | 1、2 |







