赞
踩
cpu 的主频代表cpu的一个”核“每秒计算的次数(如:2.9Hz主频的cpu,可以每秒计算2.9G次,即29亿次)
1. 未开启超线程
算力=cpu核心数*主频
2.开启超线程
- 算力=cpu核心数*2*主频
-
- 超线程是将一颗cpu通过分时复用的方式变为2个逻辑cpu,操作系统识别到的就是逻辑cpu
整个服务器的”算力“= cpu个数*cpu核心数*2*主频
服务器1+服务器2的”算力“=整个集群的”算力“
- 总算力:2*16*2*2.9GHz*3=556.8GHz
-
- 注:
- 2(第一个):代表每个服务器2颗CPU
- 16:一颗cpu16个核心
- 2(第二个):代表支持超线程,是的每个物理cpu可以变为两个逻辑cpu
- 2.9GHz:代表每个逻辑cpu的主频
- 3:代表3台服务器
-
- 注:主频其实并不等于cpu的计算能力,但也是描述cpu计算能力的主要参数,云厂家都采用该参数描述算力
-
- #让每个vm可以使用总算力的一部分,划分粒度是基于逻辑cpu划分的(即线程)
- #EX:某资源池的总算力为2*16*2*2.9GHz=185.6GHz,其中VM1从总算力中划分2个线程使用,vm2从总算力中划分出3个线程使用。VM1就会获得5.8GHz的算力;vm2获得8.7GHz的算力
- #vm在创建时,通过配置vcpu来控制为其分配的线程数。
- #一个vcpu代表要划分一个线程(即逻辑cpu)
- #EX:创建一个vm,cpu部分的配置为6vcpu,代表要从算力池中划分6个线程给这个vm使用
-
- 一个vm的vcpu个数不能大于物理线程数
- #EX:一个资源池共64个线程,一个vm最大可以配置的vcpu的个数就是64个,不能超过64
-
-
- 可是通过vcpu超分的方法实现资源的充分利用。
- #直接划分线程,每个vm的物理资源也不会一直100%,依然从在资源浪费
- #超分更充分的复用资源
-
- vm通过分时复用划分资源
- #时分复用:当一台服务器上运行的所有vm的vcpu数量超过线程数时,将进入超分配状态,超分配模式下vcpu通过时分复用的方式,按照时间分片轮流使用线程进行计算
-
- #vcpu的算力有可能降低:一个完整的线程如果主频是2GHz,1秒钟可以计算20亿次。当因为超分配有了时间篇轮询时,比如只能使用0.5s,则对这个vm来说相当于1秒钟可以计算10亿次;相当于vm的算力从2GHz变成了1GHz.
-
- 超分情况下vcpu的算力是一个范围:
- #最低算力:总算力/vcpu数(所有vm都繁忙时)
- #最高算力:vcpu*主频
- EX:vm1的最低算力=8/6*2=2.67GHz;最高算力=2*2=4GHZ
-
- 超分配的问题:性能不可预期
- #当大多数vm都比较空闲时,性能体验有没有超分区别不大
- #当大多数vm都负载非常高时,cpu资源争抢严重,cpu处理不过来导致vm性能下降;如果有的vm比较重要,它的性能无法保障。
- 预留:为某vm预留的算力,算力不够vm无法启动(下限)//默认值为0
- 限制:vm的算力不可大于限制的算力 //默认无限制
- 份额:多个vm争抢算力资源时,份额高的vm可以抢到更多的算力 //默认值(1000/vm)
-
-
- vcpu数量越多越好吗?
- #在没有超分配的情况下,越多分的资源越多;(每个vm独占物理线程,不存在争抢资源)
- #开启超分配的情况下
- #负载较高时,反而vcpu越少越好
- #vcpu多只代表性能上线高:当大部分vm空闲时,高vcpu的vm能获得更多的资源
- #cpu负载较高时vcpu多反而影响性能:因为一个vm的所有vcpu需要等待对应数量的物理线程都空闲了才可以开始计算,所以vcpu数量越多越难等到机会
- vm1-4vcpu vm2-2vcpu;两个vm都运行在4线程的资源池
-
- T1时间:4个线程都空闲,vm1获得资源开始计算
- T2时间:vm2获得资源,另外两个线程vm1无法使用,因为空闲资源不到4线程(此时浪费2线程的资源)
-
- 单个vm的vcpu越多浪费资源的概率越大
- 回收的目的:
- #暂时不用的资源可以可以被其他vm使用,实现物理资源的最大化利用
-
- cpu无需回收:
- #cpu虚拟化是通过时分复用的方式实现,因此只要vm计算结束就会自定释放资源,其他vm就可以使用空闲的资源
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。