I use KVM extensively to run Linux VMs, and have occasionally used it to run Windows, but not heavily.
A new acquaintance who should know advised me that KVM performs really badly under Windows (with respect to using it to provide virtualized Windows desktops). If I understand correctly he put this down to poor emulation of devices/lack of or nonexistence of performant VirtIO drivers.
I'm skeptical of this claim but it is outside my area of expertise.
Is KVM (or was it until recently) markedly less performant then other virtualization platforms for running remote Windows desktops?
1 Answer
Windows performs as well as any OS under KVM (or any other hypervisor). The only anomaly is in Windows builds since 2018 which causes the Windows kernel to poll timers excessively. This manifests as high idle CPU usage of Windows VMs, typically around 30%. The linked article explains the details of how to work around it, but the diet version is that if you expose an emulated Hyper-V timer, Windows prefers it over other timers, and that timer implementation in Windows behaves in a way that is sensible in a VM. The net result is that the idle CPU usage goes from 30% down to a much more reasonable 1%.