CPU虚拟化技术
NUMA技术
NUMA是一种解决多CPU共同工作的技术方案
NUMA模式是每个处理器有自己的存储器,每个处理器可以访问别的处理器的存储器
宿主机NUMA信息查看与配置
宿主机NUMA信息查看
numactl –hardware
命令查看当前CPU硬件情况
numastat
命令查看每个节点的内存统计
宿主机NUMA配置
CentOS 默认开启NUMA平衡策略
echo 0 > /proc/sys/kernel/numa_balancing
#关闭
echo 1 > /proc/sys/kernel/numa_balancing
#开启
虚拟机NUMA信息查看与配置
查看虚拟机信息
virsh numatune win2003
使用virsh numatune命令配置虚拟机的NUMA
virsh numatune win2003 --nodeset '0,2-3'
使用emulatorpin的方式指定特定物理CPU范围
virsh emulatorpin win2003 1-3
CPU绑定技术
在线绑定虚拟机的CPU
例:使win2003的虚拟机CPU在26-31这些物理CPU之间调度
virsh emulatorpin win2003 26-31 –live
检测信息命令:
virsh emulatorpin win2003
强制VCPU和物理机CPU一对一绑定
例:强制VCPU 0和物理机CPU 28绑定
virsh vcpupin win2003 0 28
检测信息命令:(待虚拟机开机后查看信息)
virsh vcpuinfo win2003
CPU热添加技术
限制:CPU热添加是centos7的一个新特性,物理机和虚拟机都必须是centos7
windows虚拟机必须是windows2012标准版或数据中心版 P32
例:把CPU在线修改成5个
virsh setvcpus win2003 5 –live
Lnux检测
cat /proc/interrupts #在虚拟机里面查看当前系统有多少个cpu
cat /proc/cpuinfo
echo 1 > /sys/devices/system/cpu/cpu3/online #在虚拟机里面激活第4个cpu
echo 0 > /sys/devices/system/cpu/cpu3/online #在虚拟机里面关闭第4个cpu
windos检测
自动检测刷新,不用配置
CPU host-passthrough技术
CPU模式配置
- custom模式
- host-model模式
根据物理CPU的特性,选择最靠近的标准CPU型号。默认模式- host-passthrough模式
直接将物理CPU暴露给虚拟机使用,在虚拟机上看到的就是物理CPU的型号。
适用场景:使用虚拟机嵌套的nested技术
CPU Nested嵌套虚拟化技术
配置方法:
打开KVM内核模块的Nested特性
rmmode kvm-intel
modprobe kvm-intel nested=1
或者修改文件/etc/modprobe.d/kvm_mod.conf,添加以下内容
options kvm-intel nested=y
之后重新载入模块就可以了,这种方法不用加载模块时带参数
检测命令:
cat /sys/module/kvm_intel/parameters/nested