-
-
VM Terrible Performance + Very Low FPS compared to baremetal after new CPU install
Hi everyone, I'm still very new to unraid (still in my trial) but I am having some issues. My windows gaming VM is having some serious performance issues and is significantly worse compared to what I've replicated with baremetal windows, I recently downgraded my Ryzen 5950x to a Ryzen 5500, I had no issues with a comparable VM on the 5950x but ever since changing the CPU, I cannot get any reliable performance in any VM configuration I set up. (Unraid + Dockers work flawlessly on this system apart from the VMs) I am trying to have 4 out of 6 cores isolated and used for the VM, passing through 2 NVME drives (one for boot and one for games/data) and using a GTX980ti passed through as well. -I've been using CS:GO as the main game to test what's working/not working. On baremetal with 2 cores turned off, the system can easily get 200+ fps, however in the VM it can't consistently make over 60fps and sometimes dips to as low as >20fps with similar behaviour on other games and emulators as well. -Cinebench also shows significant differences with multi core scores 1000 - 2000 less on the VM (with the same amount of cores/threads enabled) -Windows is also very slow to load at times, with file explorer for example sometimes taking up to 10 seconds to open a window The troubleshooting steps I've tried so far with no luck so far are: - Resetting bios and updating to latest version - ensuring bios has virtualisation features enabled - completely reinstalling VM + OS on freshly formatted NVME drive - lowering/changing VM cores / ram - isolating CPU cores for VM - setting CPU governor to performance - testing VM with both windows 10 + 11 - Testing VM with both i440fx & Q35 (current and past versions) - enabling/disabling hyperV in both unraid VM settings and Windows - testing with both seabios & OVMF - testing VM on array & cache drive Vdisk as opposed to the passed through NVME - disabling audio controllers - disabling all passed through USB controllers - Disabling passed through GPU (issue persists on cinebench with VNC) - Testing VM directly plugged into monitor (instead of remote desktop like I normally access the VM) - MSI utility to try and fix latency issues - Monitored with latencymon to check for issues there Latencymon gave me the biggest indication that there is a problem (see attached) but so far I've been unable to figure out a solution and to be honest, I don't know enough about latency issues to tell whether this would cause such dramatic performance issues, or the issue is being caused something else entirely, these latency issues occur regardless of whether the GPU is enabled or not, and as soon as you fix one driver issue, it's just as if another will take its place in being problematic. If anyone is able to help me I'd really appreciate it, I am running out of ideas on what could be the problem and how to fix it. If there's any other info that would be helpful to provide let me know! Latencymon Results CONCLUSION _________________________________________________________________________________________________________ Your system appears to be having trouble handling real-time audio and other tasks. You are likely to experience buffer underruns appearing as drop outs, clicks or pops. One or more DPC routines that belong to a driver running in your system appear to be executing for too long. One problem may be related to power management, disable CPU throttling settings in Control Panel and BIOS setup. Check for BIOS updates. LatencyMon has been analyzing your system for 0:51:03 (h:mm:ss) on all processors. _________________________________________________________________________________________________________ SYSTEM INFORMATION _________________________________________________________________________________________________________ Computer name: DESKTOP-6ODQ0HV OS version: Windows 10, 10.0, version 2009, build: 19044 (x64) Hardware: Standard PC (i440FX + PIIX, 1996), QEMU BIOS: 0.0.0 CPU: AuthenticAMD AMD Ryzen 5 5500 Logical processors: 8 Processor groups: 1 Processor group size: 8 RAM: 8188 MB total _________________________________________________________________________________________________________ CPU SPEED _________________________________________________________________________________________________________ Reported CPU speed (WMI): 3593 MHz Reported CPU speed (registry): 3593 MHz Note: reported execution times may be calculated based on a fixed reported CPU speed. Disable variable speed settings like Intel Speed Step and AMD Cool N Quiet in the BIOS setup for more accurate results. _________________________________________________________________________________________________________ MEASURED INTERRUPT TO USER PROCESS LATENCIES _________________________________________________________________________________________________________ The interrupt to process latency reflects the measured interval that a usermode process needed to respond to a hardware request from the moment the interrupt service routine started execution. This includes the scheduling and execution of a DPC routine, the signaling of an event and the waking up of a usermode thread from an idle wait state in response to that event. Highest measured interrupt to process latency (µs): 2562.40 Average measured interrupt to process latency (µs): 61.726958 Highest measured interrupt to DPC latency (µs): 788.20 Average measured interrupt to DPC latency (µs): 16.833774 _________________________________________________________________________________________________________ REPORTED ISRs _________________________________________________________________________________________________________ Interrupt service routines are routines installed by the OS and device drivers that execute in response to a hardware interrupt signal. Highest ISR routine execution time (µs): 778.613972 Driver with highest ISR routine execution time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation Highest reported total ISR routine time (%): 0.008228 Driver with highest ISR total time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation Total time spent in ISRs (%) 0.008568 ISR count (execution time <250 µs): 39130 ISR count (execution time 250-500 µs): 0 ISR count (execution time 500-1000 µs): 14 ISR count (execution time 1000-2000 µs): 0 ISR count (execution time 2000-4000 µs): 0 ISR count (execution time >=4000 µs): 0 _________________________________________________________________________________________________________ REPORTED DPCs _________________________________________________________________________________________________________ DPC routines are part of the interrupt servicing dispatch mechanism and disable the possibility for a process to utilize the CPU while it is interrupted until the DPC has finished execution. Highest DPC routine execution time (µs): 1222.236571 Driver with highest DPC routine execution time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation Highest reported total DPC routine time (%): 0.091009 Driver with highest DPC total execution time: rspLLL64.sys - Resplendence Latency Monitoring and Auxiliary Kernel Library, Resplendence Software Projects Sp. Total time spent in DPCs (%) 0.109178 DPC count (execution time <250 µs): 1213444 DPC count (execution time 250-500 µs): 0 DPC count (execution time 500-10000 µs): 646 DPC count (execution time 1000-2000 µs): 2 DPC count (execution time 2000-4000 µs): 0 DPC count (execution time >=4000 µs): 0 _________________________________________________________________________________________________________ REPORTED HARD PAGEFAULTS _________________________________________________________________________________________________________ Hard pagefaults are events that get triggered by making use of virtual memory that is not resident in RAM but backed by a memory mapped file on disk. The process of resolving the hard pagefault requires reading in the memory from disk while the process is interrupted and blocked from execution. NOTE: some processes were hit by hard pagefaults. If these were programs producing audio, they are likely to interrupt the audio stream resulting in dropouts, clicks and pops. Check the Processes tab to see which programs were hit. Process with highest pagefault count: nvidia web helper.exe Total number of hard pagefaults 2107 Hard pagefault count of hardest hit process: 564 Number of processes hit: 61 _________________________________________________________________________________________________________ PER CPU DATA _________________________________________________________________________________________________________ CPU 0 Interrupt cycle time (s): 547.618506 CPU 0 ISR highest execution time (µs): 379.897579 CPU 0 ISR total execution time (s): 0.079771 CPU 0 ISR count: 1907 CPU 0 DPC highest execution time (µs): 737.502087 CPU 0 DPC total execution time (s): 24.251948 CPU 0 DPC count: 1114607 _________________________________________________________________________________________________________ CPU 1 Interrupt cycle time (s): 33.657436 CPU 1 ISR highest execution time (µs): 117.618703 CPU 1 ISR total execution time (s): 0.003682 CPU 1 ISR count: 344 CPU 1 DPC highest execution time (µs): 142.537156 CPU 1 DPC total execution time (s): 0.027365 CPU 1 DPC count: 1723 _________________________________________________________________________________________________________ CPU 2 Interrupt cycle time (s): 38.084832 CPU 2 ISR highest execution time (µs): 778.613972 CPU 2 ISR total execution time (s): 2.016367 CPU 2 ISR count: 36893 CPU 2 DPC highest execution time (µs): 1222.236571 CPU 2 DPC total execution time (s): 2.027896 CPU 2 DPC count: 82932 _________________________________________________________________________________________________________ CPU 3 Interrupt cycle time (s): 26.906929 CPU 3 ISR highest execution time (µs): 0.0 CPU 3 ISR total execution time (s): 0.0 CPU 3 ISR count: 0 CPU 3 DPC highest execution time (µs): 138.178681 CPU 3 DPC total execution time (s): 0.010950 CPU 3 DPC count: 690 _________________________________________________________________________________________________________ CPU 4 Interrupt cycle time (s): 25.354602 CPU 4 ISR highest execution time (µs): 0.0 CPU 4 ISR total execution time (s): 0.0 CPU 4 ISR count: 0 CPU 4 DPC highest execution time (µs): 486.516003 CPU 4 DPC total execution time (s): 0.173811 CPU 4 DPC count: 6422 _________________________________________________________________________________________________________ CPU 5 Interrupt cycle time (s): 22.808875 CPU 5 ISR highest execution time (µs): 0.0 CPU 5 ISR total execution time (s): 0.0 CPU 5 ISR count: 0 CPU 5 DPC highest execution time (µs): 126.766490 CPU 5 DPC total execution time (s): 0.042964 CPU 5 DPC count: 1979 _________________________________________________________________________________________________________ CPU 6 Interrupt cycle time (s): 22.730824 CPU 6 ISR highest execution time (µs): 0.0 CPU 6 ISR total execution time (s): 0.0 CPU 6 ISR count: 0 CPU 6 DPC highest execution time (µs): 1080.260507 CPU 6 DPC total execution time (s): 0.216739 CPU 6 DPC count: 5468 _________________________________________________________________________________________________________ CPU 7 Interrupt cycle time (s): 18.460586 CPU 7 ISR highest execution time (µs): 0.0 CPU 7 ISR total execution time (s): 0.0 CPU 7 ISR count: 0 CPU 7 DPC highest execution time (µs): 97.459505 CPU 7 DPC total execution time (s): 0.004186 CPU 7 DPC count: 271 _______________________________________________________________________________ VM XML <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='10'> <name>Windows 10 NEW</name> <uuid>ac4048a6-b9b5-de9e-d262-88d2ffc5e7e7</uuid> <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='2'/> <vcpupin vcpu='1' cpuset='8'/> <vcpupin vcpu='2' cpuset='3'/> <vcpupin vcpu='3' cpuset='9'/> <vcpupin vcpu='4' cpuset='4'/> <vcpupin vcpu='5' cpuset='10'/> <vcpupin vcpu='6' cpuset='5'/> <vcpupin vcpu='7' cpuset='11'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-6.2'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/ac4048a6-b9b5-de9e-d262-88d2ffc5e7e7_VARS-pure-efi.fd</nvram> <boot dev='hd'/> </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='4' 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> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/virtio-win-0.1.221-1.iso' index='1'/> <backingStore/> <target dev='hdb' bus='ide'/> <readonly/> <alias name='ide0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <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'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='ide' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:63:c0:89'/> <source bridge='br0'/> <target dev='vnet9'/> <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='/var/lib/libvirt/qemu/channel/target/domain-10-Windows 10 NEW/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <audio id='1' type='none'/> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <rom file='/mnt/user/isos/FIXEDGTX980TI.dump'/> <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='0x09' 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='0x03' slot='0x00' function='0x0'/> </source> <alias name='hostdev2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/> </source> <alias name='hostdev3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> tower-diagnostics-20220727-1752.zip
-
[6.10.3] Your server has detected hardware errors You should install mcelog via the NerdPack plugin, post your diagnostics and ask for assistance on the Unraid forums. The output of mcelog (if installed) has been logged
Hi all, Very new to Unraid (currently on day 6 of my trial) and have learnt a lot since setting up my server and problem solving a few issues I've experienced along the way so far. I decided to install fix common problems and was alerted to hardware errors on my system. I have tried looking at the logs myself but am unsure what a lot of the errors mean, and was wondering if someone could point me in the right direction as to whether I need to take action on anything. I have attached my diagnostics below Thanks for the help! tower-diagnostics-20220706-1700.zip
jacobbeattie
Members
-
Joined
-
Last visited