* cpu 资源池中的资源是指? 算力(用主频表达)
* 什么是主频?
cpu 的主频代表cpu的一个”核“每秒计算的次数(如:2.9Hz主频的cpu,可以每秒计算2.9G次,即29亿次)
*一颗cpu的算力
1. 未开启超线程
算力=cpu核心数*主频
2.开启超线程
算力=cpu核心数*2*主频
超线程是将一颗cpu通过分时复用的方式变为2个逻辑cpu,操作系统识别到的就是逻辑cpu
*一台服务器的算力
整个服务器的”算力“= cpu个数*cpu核心数*2*主频
*集群的算力
服务器1+服务器2的”算力“=整个集群的”算力“
EX:一个集群中包括3台双路服务器,所有的cpu军采用intel Xeon Gold 622R
question: 这个集群的总算力是多少?
总算力:2*16*2*2.9GHz*3=556.8GHz
注:
2(第一个):代表每个服务器2颗CPU
16:一颗cpu16个核心
2(第二个):代表支持超线程,是的每个物理cpu可以变为两个逻辑cpu
2.9GHz:代表每个逻辑cpu的主频
3:代表3台服务器
注:主频其实并不等于cpu的计算能力,但也是描述cpu计算能力的主要参数,云厂家都采用该参数描述算力
文章来源:https://www.toymoban.com/news/detail-505270.html
*VM申请资源
1、所有vm划分总算力
#让每个vm可以使用总算力的一部分,划分粒度是基于逻辑cpu划分的(即线程)
#EX:某资源池的总算力为2*16*2*2.9GHz=185.6GHz,其中VM1从总算力中划分2个线程使用,vm2从总算力中划分出3个线程使用。VM1就会获得5.8GHz的算力;vm2获得8.7GHz的算力
2、vm通过配置vcpu"划分"算力
#vm在创建时,通过配置vcpu来控制为其分配的线程数。
#一个vcpu代表要划分一个线程(即逻辑cpu)
#EX:创建一个vm,cpu部分的配置为6vcpu,代表要从算力池中划分6个线程给这个vm使用
3、限制
一个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比较重要,它的性能无法保障。
cpu资源控制方案
预留:为某vm预留的算力,算力不够vm无法启动(下限)//默认值为0
限制:vm的算力不可大于限制的算力 //默认无限制
份额:多个vm争抢算力资源时,份额高的vm可以抢到更多的算力 //默认值(1000/vm)
vcpu数量越多越好吗?
#在没有超分配的情况下,越多分的资源越多;(每个vm独占物理线程,不存在争抢资源)
#开启超分配的情况下
#负载较高时,反而vcpu越少越好
#vcpu多只代表性能上线高:当大部分vm空闲时,高vcpu的vm能获得更多的资源
#cpu负载较高时vcpu多反而影响性能:因为一个vm的所有vcpu需要等待对应数量的物理线程都空闲了才可以开始计算,所以vcpu数量越多越难等到机会
文章来源地址https://www.toymoban.com/news/detail-505270.html
vm1-4vcpu vm2-2vcpu;两个vm都运行在4线程的资源池
T1时间:4个线程都空闲,vm1获得资源开始计算
T2时间:vm2获得资源,另外两个线程vm1无法使用,因为空闲资源不到4线程(此时浪费2线程的资源)
单个vm的vcpu越多浪费资源的概率越大
cpu资源的回收
回收的目的:
#暂时不用的资源可以可以被其他vm使用,实现物理资源的最大化利用
cpu无需回收:
#cpu虚拟化是通过时分复用的方式实现,因此只要vm计算结束就会自定释放资源,其他vm就可以使用空闲的资源
到了这里,关于cpu 虚拟化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!