杂谈:libvirt/qemu Windows游戏VM的一些优化配置

发布日期:分类:Linux & homelab 杂谈:libvirt/qemu Windows游戏VM的一些优化配置无评论

一些libvirt配置备忘,针对Windows guest,虚拟机游戏场景

虚拟化功能选项

取自cockpit-machine生成的Windows 10 guest配置

  <features>
    <acpi/>
    <apic/>
    <hyperv mode='custom'>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vpindex state='on'/>
      <runtime state='on'/>
      <synic state='on'/>
      <stimer state='on'/>
      <frequencies state='on'/>
      <tlbflush state='on'/>
      <ipi state='on'/>
      <evmcs state='on'/>
      <avic state='on'/>
    </hyperv>
    <vmport state='off'/>
  </features>

CPU feature设置

在CPU节加入一些神奇的选项可以提高CPU-Z跑分,在我的E-2378的单核从450提升到500,物理机为540左右

  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' clusters='1' cores='8' threads='2'/> <!--以实际情况为准-->
    <feature policy='require' name='topoext'/>
    <feature policy='disable' name='vmx'/>
    <feature policy='disable' name='svm'/>
    <feature policy='require' name='apic'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='invtsc'/>
  </cpu>

超线程和 CPU Pinning

首先使用lscpu -e查看宿主机超线程CPU序号拓扑,一般是前半都是t0(每个物理核的0号线程),后半都是t1,然后将同一物理核心的宿主机CPU序号分配到相邻的vcpu上,似乎这样在Windows虚拟机中顺序才是正确的(有待进一步验证):

  <vcpu placement='static'>16</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='8'/>
    <vcpupin vcpu='2' cpuset='1'/>
    <vcpupin vcpu='3' cpuset='9'/>
    <vcpupin vcpu='4' cpuset='2'/>
    <vcpupin vcpu='5' cpuset='10'/>
    <vcpupin vcpu='6' cpuset='3'/>
    <vcpupin vcpu='7' cpuset='11'/>
    <vcpupin vcpu='8' cpuset='4'/>
    <vcpupin vcpu='9' cpuset='12'/>
    <vcpupin vcpu='10' cpuset='5'/>
    <vcpupin vcpu='11' cpuset='13'/>
    <vcpupin vcpu='12' cpuset='6'/>
    <vcpupin vcpu='13' cpuset='14'/>
    <vcpupin vcpu='14' cpuset='7'/>
    <vcpupin vcpu='15' cpuset='15'/>
  </cputune>

宿主机优化(可选)

tuned profile选择virtual-host

qemu自动用透明内存大页,也可以显示用手动内存大页,但不足时虚拟机无法启动

作者:WuSiYu

学生,计算机/HPC/MLsys/LLM infra方向

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注