vCPU的数量计算
系统虚拟出的CPU就是vCPU
计算公式:物理CPU个数 * CPU的核数 * 2 (线程数)
- 核数就是CPU内部独立的处理单元,CPU就是工厂,核数就是生产线
- 线程数是对CPU的优化技术,让单个处理器能使用线程技术并行计算,利用调度机制让CPU的空间时间也利用起来,不让CPU处于等待时间
是否开启超线程
生产环境需要根据业务需求来确定CPU是否处于频繁和密集运算,如果是,这样开启超线程其实是降低了业务能力
- intel HT技术(BIOS---->Hyper-Threading---->Disabled)
- AMD SMT技术(BIOS---->Simultaneous Multithreading---->Disabled)
CPU复用
虚拟机能使用的vCPU数量往往都要超过本身vCPU的个数
- 分配给虚拟机的CPU资源不可能全部被使用掉
由于CPU的使用会出现频繁的最高点和最低点
- 需要考虑总预留量,预防突发瓶颈
根据业务性大概的判断出复用比值:1:X
内存复用
- 内存共享:利用映射指向多台虚拟机器的相同存储变成自读,变更信息再单独映射存储
- 内存置换:把内存的冷数据临时存储到硬盘上(硬盘当内存使用的交换内存)
- 内存气泡:讲闲置的内存临时分给使用率高的虚拟机器
开启,集群配置中开启
理论上能降低硬件的50%的成本
QOS(Quality of Service,服务质量)
实现了可衡量的计算能力,满足不同计算性能需求
CPU
- 限制:最大值
- 预留:最小值,保障最低
- 份额:也就是权重,份额/总份额*总资源量
内存
- 预留:最小值,保障最低,根据创建的系统不通,默认内存会自动识别最小值
- 份额:也就是权重,份额/总份额*总资源量
- 内存的限制最大值就是本身分配的大小
预留值超出总量,按照顺序资源分配到不够的使用,虚拟机将无法启动
在CPU和内存,预留值和份额是存在不同处理机制
- 内存虚拟机开启后独占预留值
- CPU只有在资源竞争的情况下才会启动预留值和份额机制
区别在于CPU不是持续性使用率,而内存一般都是持续使用率
虚拟机的热插拔
虚拟机在不关闭的情况下增加删减资源
基本系统都是支持热插,热拔所有的系统都是不支持的,需要重启虚拟机器