My idle KVM Windows VM used 100% CPU.
It went from 100% host CPU down to 3% host CPU after I disabled ehci(Standard Enhanced PCI to USB Host Controller) in Device Manager.
Device Magener Picture
Vm run normally at the beginning. It went up to 100% after a long timer(may be one night long).
Why the cpu usage reduced when I disabled the ehci?
Is there any other way to reduce the cpu usage?
Here is my libvirt.xml
<domain type="kvm" xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0">
<name>i-win2003/name>
<os>
<type>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
</features>
<clock offset="localtime"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<vcpu current="1">1</vcpu>
<memory>2097152</memory>
<currentMemory>2097152</currentMemory>
<devices>
<disk device="disk" type="file">
<driver name="qemu" type="qcow2"/>
<source file="/root/i-win2003/snap.qcow2"/>
<target bus="virtio" dev="vda"/>
</disk>
<disk type='file' device='cdrom'>
<source dev=''/>
<target dev='hdc' bus='ide'/>
</disk>
<serial type="pty">
<source path="/dev/pts/1"/>
<target port="0"/>
</serial>
<interface type='bridge'>
<mac address='fa:16:3e:81:68:b4'/>
<source bridge='eucabr'/>
<model type='virtio'/>
<driver name='qemu'/>
<alias name='net0'/>
</interface>
<channel type='unix'>
<source mode='bind'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>
<controller type="usb" index="0" model="ich9-ehci1"/>
<controller type="usb" index="0" model="ich9-uhci1"/>
<controller type="usb" index="0" model="ich9-uhci2"/>
<controller type="usb" index="0" model="ich9-uhci3"/>
<input type="tablet" bus="usb"/>
<input type="mouse" bus="ps2"/>
<graphics type="vnc" port="-1" autoport="yes" keymap="en-us" listen="0.0.0.0"/>
</devices>
<qemu:commandline>
</qemu:commandline>
</domain>