• Windows 10 VM High CPU Usage


    Lucict
    • Annoyance

    Hello, 

     

    Is anyone else experiencing high CPU usage on the host from an idling Windows 10 VM (version 20H2)? I am currently on 6.9 RC2, but I have been experiencing this throughout the 6.9 betas. No matter what I do, my CPU usage from my Windows 10 VM is approximately 15% overall load, with some cores being as high as 40%. I have tried different machine types, different versions, with Hyper V, without Hyper V, etc, but I can't get the CPU usage to be lower. When I shutdown the VM, my CPU usage is 1% to 2%. Previously, under 6.8.3, my CPU usage was approx. 3%.

     

    Here is my current XML and my diagnostics are attached:

     

    <?xml version='1.0' encoding='UTF-8'?>
    <domain type='kvm'>
      <name>Windows 10</name>
      <uuid>cbd0ca47-172b-0ef8-6e3c-b728e56173c8</uuid>
      <metadata>
        <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
      </metadata>
      <memory unit='KiB'>16777216</memory>
      <currentMemory unit='KiB'>16777216</currentMemory>
      <memoryBacking>
        <nosharepages/>
      </memoryBacking>
      <vcpu placement='static'>12</vcpu>
      <cputune>
        <vcpupin vcpu='0' cpuset='0'/>
        <vcpupin vcpu='1' cpuset='6'/>
        <vcpupin vcpu='2' cpuset='1'/>
        <vcpupin vcpu='3' cpuset='7'/>
        <vcpupin vcpu='4' cpuset='2'/>
        <vcpupin vcpu='5' cpuset='8'/>
        <vcpupin vcpu='6' cpuset='3'/>
        <vcpupin vcpu='7' cpuset='9'/>
        <vcpupin vcpu='8' cpuset='4'/>
        <vcpupin vcpu='9' cpuset='10'/>
        <vcpupin vcpu='10' cpuset='5'/>
        <vcpupin vcpu='11' cpuset='11'/>
      </cputune>
      <os>
        <type arch='x86_64' machine='pc-q35-5.1'>hvm</type>
        <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
        <nvram>/etc/libvirt/qemu/nvram/cbd0ca47-172b-0ef8-6e3c-b728e56173c8_VARS-pure-efi.fd</nvram>
        <boot dev='hd'/>
      </os>
      <features>
        <acpi/>
        <apic/>
        <hyperv>
          <relaxed state='on'/>
          <vapic state='on'/>
          <spinlocks state='on' retries='8191'/>
          <synic state='on'/>
          <stimer state='on'/>
          <vendor_id state='on' value='none'/>
        </hyperv>
      </features>
      <cpu mode='host-passthrough' check='none' migratable='on'>
        <topology sockets='1' dies='1' cores='6' threads='2'/>
        <cache mode='passthrough'/>
        <feature policy='require' name='topoext'/>
      </cpu>
      <clock offset='localtime'>
        <timer name='hypervclock' present='yes'/>
        <timer name='hpet' present='no'/>
      </clock>
      <on_poweroff>destroy</on_poweroff>
      <on_reboot>restart</on_reboot>
      <on_crash>restart</on_crash>
      <devices>
        <emulator>/usr/local/sbin/qemu</emulator>
        <controller type='usb' index='0' model='ich9-ehci1'>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
        </controller>
        <controller type='usb' index='0' model='ich9-uhci1'>
          <master startport='0'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
        </controller>
        <controller type='usb' index='0' model='ich9-uhci2'>
          <master startport='2'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
        </controller>
        <controller type='usb' index='0' model='ich9-uhci3'>
          <master startport='4'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
        </controller>
        <controller type='sata' index='0'>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
        </controller>
        <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='0x8'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='2' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='2' port='0x9'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
        </controller>
        <controller type='pci' index='3' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='3' port='0xa'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
        </controller>
        <controller type='pci' index='4' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='4' port='0xb'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
        </controller>
        <controller type='pci' index='5' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='5' port='0xc'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
        </controller>
        <controller type='pci' index='6' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='6' port='0xd'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
        </controller>
        <controller type='pci' index='7' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='7' port='0xe'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
        </controller>
        <controller type='pci' index='8' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='8' port='0xf'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
        </controller>
        <controller type='virtio-serial' index='0'>
          <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
        </controller>
        <interface type='bridge'>
          <mac address='52:54:00:7f:24:74'/>
          <source bridge='br0'/>
          <model type='virtio-net'/>
          <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='mouse' bus='ps2'/>
        <input type='keyboard' bus='ps2'/>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
          </source>
          <rom file='/mnt/user/isos/TU116.rom'/>
          <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0' multifunction='on'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x0a' slot='0x00' function='0x2'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x2'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x0a' slot='0x00' function='0x3'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x3'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source>
            <vendor id='0x1532'/>
            <product id='0x0016'/>
          </source>
          <address type='usb' bus='0' port='1'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source>
            <vendor id='0x19ff'/>
            <product id='0x0239'/>
          </source>
          <address type='usb' bus='0' port='2'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source>
            <vendor id='0x413c'/>
            <product id='0x2011'/>
          </source>
          <address type='usb' bus='0' port='3'/>
        </hostdev>
        <memballoon model='none'/>
      </devices>
    </domain>

     

     

     

    diagnostics-20201221-0218.zip




    User Feedback

    Recommended Comments

    I am seeing what you have reported as well but am unsure if it is something really new or if I just didn't notice in previous versions.  I read on the forums a similar report in past unRaid versions. I am going to attempt to roll back to the last stable release and check.  Link to fourum post.  The fix linked in there did not solve for me.

     

    In addition I am seeing my Windows VM's maxing all passed in CPU's and becoming unresponsive for minutes at a time.  Further troubleshooting needed on my end which I hope to accomplish via the roll-back.  I'll try and remember to post back if I find anything interesting.

    Link to comment

    OK, yeah this seems to be somehow tied to RC1 and RC2 for me.  I switched back to 6.8.3 and my Windows VM's are showing minimal CPU usage now and are much more responsive.  I had only switched to RC1 as I needed a driver in that kernel version for a new PCIe card I was trying out.  Reviewing the forum I saw at least two other posts similar to this (for later Betas) so I don't think we're the only ones with the issue.

     

    I'm going to have to stay on 6.8.3 for a while now as I don't have time to troubleshoot further.  I'm happy to try and provide specific info on request as I can though if I can help.  I would say whatever the cause is of this it's more than an annoyance though and pretty much makes using win 10 VMs' (maybe others) unusable on my system.  Guess the next step when I have time is to try RC2 or 3 when it's ready in safe mode and see if it persists to rule out addons / dockers? - although I did test with 0 dockers and 1 VM spun up and the issues persisted.

    • Thanks 1
    Link to comment

    I'm having the same problem.  Everything was fine up to 6.9beta25.  Any beta after that (including RC2) my Windows 10 VM will randomly a few of it's assigned CPUs to 100% and become unresponsive.  I read in another post that disabling WSD in the SMB settings would help and that has helped make the freezes less common.  I was able to game on that VM for a couple of hours but this morning I saw that it ciezed up again at around 8 in the morning (it was idle).

     

    Also disabling WSD allows it to sometimes recover.  The CPUs will return to normal and the VM becomes responsive.

     

    Again, this started happening for me after beta25.  If I roll back to that everything works as it should. 

    • Thanks 1
    Link to comment

    I was able to fix my issue.  Well not really fixed but found a work around.  It seems like the latest virtio drivers don't play nice with my Windows VM.  I was able to install the drivers individually but when I try running the guest services application from the drivers ISO file it tells me it ran into an error and fails.

     

    I found that removing my attached vdisks allowed the VM to run fine without any issues but when attaching additional vdisks for storage, that's when the VM would crash randomly.  I changed the vdisk bus types from virtio to SATA and this allows my VM to run without any issues.  Currently running version 6.9.2. 

    Link to comment


    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.