KVM:将 VM 升级到 Windows 10 1803 后主机 CPU 负载高

gio*_*069 5 kvm virtualization cpu windows-10

我正在运行带有 KVM/libvirt/qemu 和 Windows 10 虚拟机的 Ubuntu 16.04 服务器。将 Windows 10 升级到最新的 1803 版本(2018 年 4 月更新)后,我注意到 VM 响应速度变慢,并且主机的 CPU 负载过高。我做的测试:

  • 主机上使用的“top”报告 qemu-system-x86 进程占用了 38-44% 的 CPU,而 VM 处于空闲状态并报告 Windows 进程管理器内的 4-6% 负载。当 windows 显示 50% 的 CPU 负载时​​,主机为 qemu-system-x86 进程显示 150-200% 的 cpu 负载。旧的 Windows 10 1709 VM 不会出现主机 CPU 负载增加 8-10 倍的情况。
  • 主机上的“dstat”报告了很多system->csw,大约13k。
  • 我使用 AMD FX-4300、Ubuntu 17.10 dekstop + kvm 测试了另一个具有相同设置的系统,将 Windows 10 升级到 1803,我在这台机器上也遇到了相同的高主机 CPU 和 dstat-csw 问题。
  • 我拿了第三台带有英特尔核心 i7 的机器,安装了一个新的 Ubuntu 18.04 桌面 + kvm,安装了一个全新的 Windows 10,安装了从这里可用的 Virtio 驱动程序,我有同样的高 CPU 问题。

我能做什么?我是否使用了正确的 virtio 驱动程序?

谢谢

小智 8

在这里找到了有同样问题的人并可能解决了这个问题:https : //forum.proxmox.com/threads/high-cpu-load-for-windows-10-guests-when-idle.44531/

测试更改我自己的配置,并在 vm xml 中将 hpet 设置为 yes 为我修复了它。

  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='yes'/>
    <timer name='hypervclock' present='yes'/>
  </clock>
Run Code Online (Sandbox Code Playgroud)

hpet 部分很重要。