KVM虚拟机使用宿主机CPU特性

在使用kvm虚拟机的时候,经常会发现不支持一些物理cpu指令,比如在使用centos6的时候,发现kvm的xml配置默认的CPU配置是<type arch='x86_64' machine='rhel6.6.0'>,为了更好的压榨物理机性能,我们配置虚拟机使用和物理宿主机一样的cpu特性。

1    调整前

2    获取宿主机的cpu特性

virsh capabilities

3    上图中<cpu></cpu>之间的部分拷贝到一个xml文件中,例如:test.xml

    <cpu>
      <arch>x86_64</arch>
      <model>SandyBridge</model>
      <vendor>Intel</vendor>
      <topology sockets='1' cores='10' threads='2'/>
      <feature name='invtsc'/>
      <feature name='invpcid'/>
      <feature name='erms'/>
      <feature name='bmi2'/>
      <feature name='smep'/>
      <feature name='avx2'/>
      <feature name='bmi1'/>
      <feature name='fsgsbase'/>
      <feature name='abm'/>
      <feature name='pdpe1gb'/>
      <feature name='rdrand'/>
      <feature name='f16c'/>
      <feature name='osxsave'/>
      <feature name='movbe'/>
      <feature name='dca'/>
      <feature name='pcid'/>
      <feature name='pdcm'/>
      <feature name='xtpr'/>
      <feature name='fma'/>
      <feature name='tm2'/>
      <feature name='est'/>
      <feature name='smx'/>
      <feature name='vmx'/>
      <feature name='ds_cpl'/>
      <feature name='monitor'/>
      <feature name='dtes64'/>
      <feature name='pbe'/>
      <feature name='tm'/>
      <feature name='ht'/>
      <feature name='ss'/>
      <feature name='acpi'/>
      <feature name='ds'/>
      <feature name='vme'/>
    </cpu>

4    计算cpu-baseline CPU

virsh cpu-baseline test.xml

5    复制<cpu></cpu>部分到虚拟机xml配置文件中,打开virsh,使用edit来编辑xml配置文件,添加至<clock offset='utc'/>条目上面

virsh # edit test_kvm.xml

6    重启虚拟机

virsh reboot test_kvm

7    调整后

 

 

转载于:https://my.oschina.net/guol/blog/852878

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KVM(Kernel-based Virtual Machine)是一种开源的全虚拟化解决方案,它允许将Linux内核转变为一个虚拟化的hypervisor。在KVM中,宿主是运行KVM虚拟的主系统,而客户则是在宿主上运行的虚拟。 要获取宿主信息,客户可以采用以下几种方法: 1. 使用QEMU Guest Agent:QEMU Guest Agent是QEMU项目提供的一个用于与宿主交互的工具。它可以通过virtio-serial接口与虚拟进行通信。客户通过安装和启动QEMU Guest Agent,并发送特定的查询命令,就可以获取宿主的各种信息,如宿主CPU信息、内存使用情况、网络配置等。 2. 使用libvirt:libvirt是一个开源的虚拟化管理库,它提供了一套API用于管理和监控虚拟化技术(如KVM)。通过libvirt,客户可以连接到宿主,并使用相关API获取宿主的信息,如宿主虚拟化技术、硬件配置、网络设置等。 3. 使用网络通信:客户可以通过网络通信的方式获取宿主信息。例如,客户可以使用SNMP(Simple Network Management Protocol)协议向宿主发送查询请求,并获取宿主的网络状态、系统负载等信息。 需要注意的是,获取宿主信息可能需要一些特定的权限和配置。在实际操作中,客户可能需要在宿主上安装相关的软件或驱动,或者配置一些权限设置才能成功获取宿主信息。 总之,通过QEMU Guest Agent、libvirt或网络通信等方式,KVM客户可以与宿主进行交互,并获取宿主的各种信息,以实现更加灵活和高效的虚拟化管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值