Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Previously fast Windows 11 VM now painfully slow

Featured Replies

Hi all,

I'm having trouble with a Windows 11 VM on my server. It's running on a bare metal NVMe drive.

The VM, which I previously used for gaming, now runs painfully slow. I'm unsure which change caused this issue, but I've tried reinstalling Windows, updating guest drivers and tools, and creating a new VM. I've tried following this guide too: https://forums.unraid.net/topic/134041-guide-optimizing-windows-vms-in-unraid/

I get CPU spikes, with qemu using upwards of 500% when the VM is idle. When I boot directly into Windows, everything runs great, so it's not a hardware problem. I've isolated the CPU cores to which my VM is pinned. I'm currently passing through a GPU, but the same happens with virtual graphics.

I've tried changing practically every setting on the VM to no avail. Any guidance would be appreciated.

<?xml version='1.0' encoding='UTF-8'?>

<domain type='kvm' id='1'>

<name>Windows 11</name>

<uuid>afb5d5e8-786a-2373-c7e4-5817520a5d90</uuid>

<metadata>

<vmtemplate xmlns="http://unraid" name="Windows 11" icon="windows11.png" os="windowstpm" webui=""/>

</metadata>

<memory unit='KiB'>16777216</memory>

<currentMemory unit='KiB'>16777216</currentMemory>

<memoryBacking>

<nosharepages/>

</memoryBacking>

<vcpu placement='static'>10</vcpu>

<cputune>

<vcpupin vcpu='0' cpuset='1'/>

<vcpupin vcpu='1' cpuset='7'/>

<vcpupin vcpu='2' cpuset='2'/>

<vcpupin vcpu='3' cpuset='8'/>

<vcpupin vcpu='4' cpuset='3'/>

<vcpupin vcpu='5' cpuset='9'/>

<vcpupin vcpu='6' cpuset='4'/>

<vcpupin vcpu='7' cpuset='10'/>

<vcpupin vcpu='8' cpuset='5'/>

<vcpupin vcpu='9' cpuset='11'/>

</cputune>

<resource>

<partition>/machine</partition>

</resource>

<os>

<type arch='x86_64' machine='pc-i440fx-9.1'>hvm</type>

<loader readonly='yes' type='pflash' format='raw'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi-tpm.fd</loader>

<nvram format='raw'>/etc/libvirt/qemu/nvram/afb5d5e8-786a-2373-c7e4-5817520a5d90_VARS-pure-efi-tpm.fd</nvram>

<smbios mode='host'/>

</os>

<features>

<acpi/>

<apic/>

<hyperv mode='custom'>

<relaxed state='on'/>

<vapic state='on'/>

<spinlocks state='on' retries='8191'/>

<vpindex state='on'/>

<synic state='on'/>

<stimer state='on'/>

<vendor_id state='on' value='none'/>

</hyperv>

<kvm>

<hidden state='on'/>

</kvm>

</features>

<cpu mode='host-passthrough' check='none' migratable='off'>

<topology sockets='1' dies='1' clusters='1' cores='5' threads='2'/>

<cache mode='passthrough'/>

</cpu>

<clock offset='localtime'>

<timer name='hpet' present='no'/>

<timer name='hypervclock' present='yes'/>

<timer name='pit' tickpolicy='delay'/>

<timer name='rtc' tickpolicy='catchup'/>

</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='nec-xhci' ports='15'>

<alias name='usb'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>

</controller>

<controller type='virtio-serial' index='0'>

<alias name='virtio-serial0'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</controller>

<controller type='pci' index='0' model='pci-root'>

<alias name='pci.0'/>

</controller>

<interface type='bridge'>

<mac address='52:54:00:42:7b:77'/>

<source bridge='br0'/>

<target dev='vnet0'/>

<model type='virtio-net'/>

<alias name='net0'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>

</interface>

<serial type='pty'>

<source path='/dev/pts/0'/>

<target type='isa-serial' port='0'>

<model name='isa-serial'/>

</target>

<alias name='serial0'/>

</serial>

<console type='pty' tty='/dev/pts/0'>

<source path='/dev/pts/0'/>

<target type='serial' port='0'/>

<alias name='serial0'/>

</console>

<channel type='unix'>

<source mode='bind' path='/run/libvirt/qemu/channel/1-Windows 11/org.qemu.guest_agent.0'/>

<target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>

<alias name='channel0'/>

<address type='virtio-serial' controller='0' bus='0' port='1'/>

</channel>

<input type='mouse' bus='ps2'>

<alias name='input0'/>

</input>

<input type='keyboard' bus='ps2'>

<alias name='input1'/>

</input>

<tpm model='tpm-tis'>

<backend type='emulator' version='2.0' persistent_state='yes'/>

<alias name='tpm0'/>

</tpm>

<audio id='1' type='none'/>

<hostdev mode='subsystem' type='pci' managed='yes'>

<driver name='vfio'/>

<source>

<address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>

</source>

<alias name='hostdev0'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>

</hostdev>

<hostdev mode='subsystem' type='pci' managed='yes'>

<driver name='vfio'/>

<source>

<address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>

</source>

<alias name='hostdev1'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>

</hostdev>

<hostdev mode='subsystem' type='pci' managed='yes'>

<driver name='vfio'/>

<source>

<address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>

</source>

<boot order='1'/>

<alias name='hostdev2'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

</hostdev>

<memballoon model='none'/>

</devices>

<seclabel type='dynamic' model='dac' relabel='yes'>

<label>+0:+100</label>

<imagelabel>+0:+100</imagelabel>

</seclabel>

</domain>

diagnostics-20250629-2249.zip

Edited by azserv

  • Author

Update: the VM runs well in Safe mode with networking. Not sure what this could mean, though

  • 1 month later...
  • Community Expert

Add this between the <clock> </clock>

Let me know if it helps.

<timer name='tsc' present='yes' mode='native'/>

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
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.