August 29, 20196 yr Using a Ryzen 2700x. I've tried various groupings of cores (always along with the grouped HT pair) and anything over two cores causes the entire vm (mouse included) to massively stutter every couple of seconds. I've tried everything under the sun and this is the only way I can get a stutter-free Windows 10 VM.
September 14, 20196 yr No where near an expert, or even knowledgeable but, from reading the threads here is there a major latency problem because of NUMA pairing? (or something like that). Maybe google "unraid numa"
September 14, 20196 yr Author For some reason I thought Ryzen chips only had the one node or whatever.
September 15, 20196 yr Check out the spaceinvaderone videos on installing lstopo which will give you a visual representation of your numa nodes, the CPU's & PCIe slots tied to them. This will help you pick your CPU assignments.
September 17, 20196 yr Author Here's my lstopo output. Not exactly sure how to interpret it since it's a different type of CPU than spaceinvaderone's example.
October 29, 20196 yr Not sure if this was ever resolved, what cores are you typically passing through?
December 4, 20196 yr Author No, wasn't resolved. What cores I use doesn't seem to matter—adding more than 3 cores causes unfixable stutters. If I add a 4th, then reduce it back to 3, the stutters stay and can't be fixed.
December 25, 20196 yr I saw something like this today. I tried it many times with little tweaks to the configs because I didn't believe what I was seeing, but you are right this is a thing! I have a Ryzen 7 3800X on a ASUS ROG Strix x570-E board with bios 1405 AGESA 1.0.0.4 Patch B, and I saw significant input lag/stutter (i.e. mouse cursor skipping) when isolating CPUs from different CCXs. I didn't even have to use them in the VM ... just isolating CPU cores in Unraid from different CCXs and starting the VM using cores for 1 CCX (or both) was enough to cause the lag. Here is my CPU architecture which is similar to yours. I passed the 2nd CCX (cores 4-7 & 12-15) and a HT core from the 1st CCX (cores 3 & 11) leaving the rest of the 1st CCX for Unraid during my testing. This may be more complicated of an issue for me as I am having other VM stuttering issues which I posted about here. But I wanted to validate your finding! You're not crazy! -JesterEE
December 27, 20196 yr Author It's good to know I'm not crazy. Just to add another data point...I currently have cores 3, 5, and 7 isolated for my Windows VM. If I'm reading my architecture correctly, that's across two CCXs. It runs perfect. If I add another core—any core—guaranteed stuttering. My emulator is on core 0. Luckily this is only a gaming VM, so three cores is enough, but I've never been able to solve it. My MacOS VM that uses those cores plus core 1 runs like butter.
January 8, 20215 yr Very interesting! I have exactly the same problem. I could not add more than 2 cores before the stuttering began in Windows, but I did not test the 3,5,7 combo, which actually works, so now I have 3 working cores, so thank you for that. Also, MacOS runs as butter with more cores for me as well. Any new findings in this matter, as the last post is over a year old? Edited January 8, 20215 yr by joggs
March 16, 20215 yr Author Quote On 1/8/2021 at 10:50 AM, joggs said: Very interesting! I have exactly the same problem. I could not add more than 2 cores before the stuttering began in Windows, but I did not test the 3,5,7 combo, which actually works, so now I have 3 working cores, so thank you for that. Also, MacOS runs as butter with more cores for me as well. Any new findings in this matter, as the last post is over a year old? I've actually since upgraded to a 3900x. But, before the upgrade the problem went away and I was able to add 4 cores. I don't know what updated or what changed, but something fixed it. I currently have 8 cores passed to both VMs (not simultaneously) and everything runs fine. No clue what changed.
August 30, 20241 yr I found your thread while discovering this issue myself. My setup is cpu i9-12900k, Unraid version 6.12.13 Topology attached. If i add more then 3 cores to my windows 11 vm i get bad stutters whenever i do anything heavy (like compiling) (funny enough, there is no stutter if i run cinebench) Here is my xml <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='15'> <name>Windows 11</name> <uuid>77fe918b-c4ee-45b5-902f-b00928b24900</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 11" icon="windows11.png" os="windowstpm"/> </metadata> <memory unit='KiB'>17301504</memory> <currentMemory unit='KiB'>17301504</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='2'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='4'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> <emulatorpin cpuset='0-1'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-7.1'>hvm</type> <loader readonly='yes' type='pflash'>/mnt/cache/appdata/VM/ovmf/ovmf-x64/OVMF_CODE-pure-efi-tpm.fd</loader> <nvram>/etc/libvirt/qemu/nvram/77fe918b-c4ee-45b5-902f-b00928b24900_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'/> <vendor_id state='on' value='none'/> </hyperv> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='3' threads='2'/> </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> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/cache/appdata/VM/domains/Windows 11/vdisk1.img' index='4'/> <backingStore/> <target dev='hdc' bus='virtio'/> <serial>vdisk1</serial> <boot order='2'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/cache/appdata/VM/isos/Win11_23H2_EnglishInternational_x64v2.iso' index='3'/> <backingStore/> <target dev='hda' bus='sata'/> <readonly/> <boot order='1'/> <alias name='sata0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/cache/appdata/VM/isos/virtio-win-0.1.262.iso' index='2'/> <backingStore/> <target dev='hdb' bus='sata'/> <readonly/> <alias name='sata0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source dev='/dev/disk/by-id/ata-APPLE_SSD_TS128C_31DS10JZTLMZ' index='1'/> <backingStore/> <target dev='hdd' bus='sata'/> <alias name='sata7-0-0'/> <address type='drive' controller='7' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <controller type='sata' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='sata' index='1'> <alias name='sata1'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/> </controller> <controller type='sata' index='2'> <alias name='sata2'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/> </controller> <controller type='sata' index='3'> <alias name='sata3'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/> </controller> <controller type='sata' index='4'> <alias name='sata4'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/> </controller> <controller type='sata' index='5'> <alias name='sata5'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x06' function='0x0'/> </controller> <controller type='sata' index='6'> <alias name='sata6'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x07' function='0x0'/> </controller> <controller type='sata' index='7'> <alias name='sata7'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x08' function='0x0'/> </controller> <controller type='pci' index='0' model='pcie-root'> <alias name='pcie.0'/> </controller> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x8'/> <alias name='pci.1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-to-pci-bridge'> <model name='pcie-pci-bridge'/> <alias name='pci.2'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0x9'/> <alias name='pci.3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0xa'/> <alias name='pci.4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0xb'/> <alias name='pci.5'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0xc'/> <alias name='pci.6'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0xd'/> <alias name='pci.7'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:51:5e:71'/> <source bridge='br0'/> <target dev='vnet13'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' 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='/var/lib/libvirt/qemu/channel/target/domain-15-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='0x01' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <rom file='/mnt/cache/appdata/VM/bios-dump/amd_radeon_rx_550_Lexa.rom'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x1'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source startupPolicy='optional'> <vendor id='0x046d'/> <product id='0xc52b'/> <address bus='1' device='10'/> </source> <alias name='hostdev2'/> <address type='usb' bus='0' port='1'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> Not sure how to fix this, but i would really like to give more cores to the VM. If anybody finds a solution, please reply.
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.