March 14, 20206 yr I am seeing horrible cpu usage from my windows 10 vm that has 4 physical and 8 logical cores assigned along with 8GB or RAM. The cpu is a x3950 xml shown below. <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>DL</name> <uuid>cce2c555-cb61-0412-06bc-7ffb50430328</uuid> <description>Win10</description> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>8</vcpu> <cputune> <vcpupin vcpu='0' cpuset='4'/> <vcpupin vcpu='1' cpuset='20'/> <vcpupin vcpu='2' cpuset='5'/> <vcpupin vcpu='3' cpuset='21'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='22'/> <vcpupin vcpu='6' cpuset='7'/> <vcpupin vcpu='7' cpuset='23'/> </cputune> <os> <type arch='x86_64' machine='pc-q35-4.2'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/cce2c555-cb61-0412-06bc-7ffb50430328_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none'> <topology sockets='1' cores='4' threads='2'/> <cache mode='passthrough'/> <feature policy='require' name='topoext'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> <timer name='hypervclock' present='yes'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/domains/DL/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/domains/DL/vdisk2.img'/> <target dev='hdd' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x10'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x11'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0x12'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0x13'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:22:b2:c6'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'> <listen type='address' address='0.0.0.0'/> </graphics> <video> <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </memballoon> </devices> </domain> I have noticed this is an ongoing issue with KVM and windows 10 vm's as seen from thee links below. https://serverfault.com/questions/955439/why-windows-10-virtual-machine-show-high-cpu-load-on-kvm-hyprvisor https://forum.proxmox.com/threads/high-cpu-load-for-windows-10-guests-when-idle.44531/#post-213876 https://bugs.launchpad.net/qemu/+bug/1775702 https://askubuntu.com/questions/1033985/kvm-high-host-cpu-load-after-upgrading-vm-to-windows-10-1803 enabling hpet and hypervclock did settle it down a little bit but still nothing like the others. I am struggling trying to enable <synic state='on'/> <stimer state='on'/> as every time i go into the xml and enter this in it gets wiped after i save it, has anyone else run into this issue? Here is another link that shows all of these hyperv options availible https://github.com/qemu/qemu/blob/master/docs/hyperv.txt
March 14, 20206 yr When you say "horrible CPU usage" are you referring to idle usage, or problems in normal operation? I had idle usage of 10-15% and I had to set <timer name='hpet' present='yes'/> (you have it set to 'no') to get it to drop down to 0-1% at idle. In a previous VM, I also had to delete unused USB root hubs in the VM device manager. I don't see any hyper-v settings enabled in your XML. You need those for stimer, etc. My xml for comparison <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vendor_id state='on' value='none'/> </hyperv> </features> <cpu mode='host-passthrough' check='none'> <topology sockets='1' cores='4' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='yes'/> </clock> Edited March 14, 20206 yr by toastman
March 14, 20206 yr Author 1 minute ago, toastman said: When you say "horrible CPU usage" are you referring to idle usage, or problems in normal operation? I had idle usage of 10-15% and I had to set <timer name='hpet' present='yes'/> (you have it set to 'no') to get it to drop down to 0-1% at idle. In a previous VM, I also had to delete unused USB root hubs in the VM device manager. I don't see any hyper-v settings enabled in your XML. You need those for stimer, etc. Yes I am just referring to idle usage, in the vm settings if i enable hyper-v it goes away after i save, same goes for if i add it to the xml manually. I did end up enabling hpet and it helped a little, I haven't tried deleting unused USB root hubs yet but i did switch it over to usb 3.0 and it seemed to take them all away.
March 14, 20206 yr 11 minutes ago, Bigjohns97 said: Yes I am just referring to idle usage, in the vm settings if i enable hyper-v it goes away after i save, same goes for if i add it to the xml manually. I did end up enabling hpet and it helped a little, I haven't tried deleting unused USB root hubs yet but i did switch it over to usb 3.0 and it seemed to take them all away. You have to start a new template to change Hyper-V state.
Archived
This topic is now archived and is closed to further replies.