当虚拟机需要尽可能多地使用宿主机物理CPU支持的特性时,QEMU提供了“-cpu host”参数,可以将物理CPU的所有特性提供给虚拟机(如果KVM和QEMU支持该特性)使用。使用“-cpu host”参数时,需使用KVM,即同时使用“--enable-kvm”参数。
(1)在宿主机上查看CPU信息。
(2)使用“-cpu host”参数启动Ubuntu14.04虚拟机
使用命令“qemu-system-x86_64/home/kvm/img/ubuntu14.04.img-m 1024-net nic-net user-cpu host--enable-kvm-vnc:1”开启虚拟机。使用“-cpu host”参数时需使用“--enable-kvm”参数打开kvm虚拟化支持。虚拟机CPU特性如图4-42所示。
(www.xing528.com)
图4-42 Ubuntu14.04虚拟机的CPU特性(添加-cpu host参数)
从图4-42可知,虚拟机看到的CPU特性和宿主机基本保持一致,都是“Intel(R)Pentium(R)CPU G3240@3.10GHz”,cpuid level也是和宿主机一样的13,在CPU的特性标识flags中,也包含了大部分和宿主机一致的特性,包括“vmx”。这些都说明宿主机已经尽可能将自身的CUP特性一一提供给虚拟机使用了。
当然,由于KVM和QEMU对CPU的某些特性并没有提供模拟和实现,所以,“ept”“vpid”等CPU特性虚拟机就无法呈现。
(3)不使用“-cpu host”参数启动Ubuntu14.04虚拟机
使用命令“qemu-system-x86_64/home/kvm/img/ubuntu14.04.img-m 1024-net nic-net user--enable-kvm-vnc:1”开启Ubuntu14.04虚拟机,不添加“-cpu host”参数,以和第二步进行对比。如图4-43所示。
图4-43 Ubuntu14.04虚拟机的CPU特性(不添加-cpu host参数)
不添加“-cpu host”参数时,可以看到虚拟机CPU是QEMU模拟出来的“QEMU Virtual CPU version 2.5+”,CPU的特性标识flags也相对较少,也找不到支持虚拟化的标识“vmx”了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。