Jump to content

MrGnasty

Members
  • Posts

    1
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

MrGnasty's Achievements

Noob

Noob (1/14)

0

Reputation

  1. I have been running a windows 10 gaming vm, using a Threadripper 2920x with an RTX 2080ti and 128GB ram for a while and at first, everything was smooth. Near bare-metal performance all the time. I have windows installed directly on an NVME drive passed through directly to the vm. I am not using any other VMs. I give the VM 32GB of ram. But recently, im not sure why, but my 1st and 3rd core pairs for the vm have 30%+ cpu usage on the dashboard, while showing maybe 7% or less in windows. Additionally, game performance has noticeably decreased by a good deal. I have noticed that if I use the task manager in windows to change the affinity of a game to run only on the 2nd and 4th pairs of cores, the performance jumps up massively, sometimes even doubling. This drop in performance came with no changes to the xml. I am updated to the newest version of Unraid, which has had no effect on performance. I also get the same performance whether dockers are running or not. I've seen other topics with similar issues and I have tried each and every one of the solutions with no success. I have isolated my cores, used different emulatorpin values, ive changed HPET and hyperv settings, ive tried the "Epyc hack" and changing the cores im using, ive tried updating all virtio drivers, and ive tried disabling unused devices in the device manager. Whether im using the cores on the same node as my RTX 2080ti does not seem to impact my performance much either. Here is my xml: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='2'> <name>Windows 10 New 2</name> <uuid>3c5c0c13-6cba-794b-e376-5a7a22f2928e</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>33554432</memory> <currentMemory unit='KiB'>33554432</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>8</vcpu> <iothreads>2</iothreads> <cputune> <vcpupin vcpu='0' cpuset='6'/> <vcpupin vcpu='1' cpuset='18'/> <vcpupin vcpu='2' cpuset='7'/> <vcpupin vcpu='3' cpuset='19'/> <vcpupin vcpu='4' cpuset='8'/> <vcpupin vcpu='5' cpuset='20'/> <vcpupin vcpu='6' cpuset='9'/> <vcpupin vcpu='7' cpuset='21'/> <emulatorpin cpuset='10,22'/> <iothreadpin iothread='1' cpuset='11'/> <iothreadpin iothread='2' cpuset='23'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-4.1'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/3c5c0c13-6cba-794b-e376-5a7a22f2928e_VARS-pure-efi.fd</nvram> <boot dev='hd'/> </os> <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='8' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' 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='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/virtio-win-0.1.171.iso'/> <backingStore/> <target dev='hdb' bus='sata'/> <readonly/> <alias name='sata0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='sata' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </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-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <alias name='pci.2'/> <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'/> <alias name='pci.3'/> <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'/> <alias name='pci.4'/> <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'/> <alias name='pci.5'/> <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'/> <alias name='pci.6'/> <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'/> <alias name='pci.7'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <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> <interface type='bridge'> <mac address='52:54:00:37:6d:c2'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' 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-2-Windows 10 New 2/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> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' 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='0x04' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x41' slot='0x00' function='0x0'/> </source> <alias name='hostdev2'/> <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='0x43' slot='0x00' function='0x3'/> </source> <alias name='hostdev3'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> And here is some 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. Also one or more ISR routines that belong to a driver running in your system appear to be executing for too long. At least one detected problem appears to be network related. In case you are using a WLAN adapter, try disabling it to get better results. 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:04:15 (h:mm:ss) on all processors. _________________________________________________________________________________________________________ SYSTEM INFORMATION _________________________________________________________________________________________________________ Computer name: PCOFVIRTUALDOOM OS version: Windows 10 , 10.0, build: 18363 (x64) Hardware: Standard PC (Q35 + ICH9, 2009), QEMU CPU: AuthenticAMD AMD Ryzen Threadripper 2920X 12-Core Processor Logical processors: 8 Processor groups: 1 RAM: 32764 MB total _________________________________________________________________________________________________________ CPU SPEED _________________________________________________________________________________________________________ Reported CPU speed: 380 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. WARNING: the CPU speed that was measured is only a fraction of the CPU speed reported. Your CPUs may be throttled back due to variable speed settings and thermal issues. It is suggested that you run a utility which reports your actual CPU frequency and temperature. _________________________________________________________________________________________________________ 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): 2048.20 Average measured interrupt to process latency (µs): 11.626739 Highest measured interrupt to DPC latency (µs): 2017.10 Average measured interrupt to DPC latency (µs): 4.310396 _________________________________________________________________________________________________________ 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): 6795.780 Driver with highest ISR routine execution time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation Highest reported total ISR routine time (%): 0.411564 Driver with highest ISR total time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation Total time spent in ISRs (%) 0.430099 ISR count (execution time <250 µs): 4763 ISR count (execution time 250-500 µs): 0 ISR count (execution time 500-999 µs): 6121 ISR count (execution time 1000-1999 µs): 3412 ISR count (execution time 2000-3999 µs): 35 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): 3880.330 Driver with highest DPC routine execution time: ndis.sys - Network Driver Interface Specification (NDIS), Microsoft Corporation Highest reported total DPC routine time (%): 0.211931 Driver with highest DPC total execution time: nvlddmkm.sys - NVIDIA Windows Kernel Mode Driver, Version 441.66 , NVIDIA Corporation Total time spent in DPCs (%) 0.342834 DPC count (execution time <250 µs): 364855 DPC count (execution time 250-500 µs): 0 DPC count (execution time 500-999 µs): 7264 DPC count (execution time 1000-1999 µs): 382 DPC count (execution time 2000-3999 µs): 7 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: msmpeng.exe Total number of hard pagefaults 89 Hard pagefault count of hardest hit process: 80 Number of processes hit: 6 _________________________________________________________________________________________________________ PER CPU DATA _________________________________________________________________________________________________________ CPU 0 Interrupt cycle time (s): 57.91610 CPU 0 ISR highest execution time (µs): 0.0 CPU 0 ISR total execution time (s): 0.0 CPU 0 ISR count: 0 CPU 0 DPC highest execution time (µs): 3880.330 CPU 0 DPC total execution time (s): 2.026367 CPU 0 DPC count: 342920 _________________________________________________________________________________________________________ CPU 1 Interrupt cycle time (s): 16.952111 CPU 1 ISR highest execution time (µs): 0.0 CPU 1 ISR total execution time (s): 0.0 CPU 1 ISR count: 0 CPU 1 DPC highest execution time (µs): 320.760 CPU 1 DPC total execution time (s): 0.012701 CPU 1 DPC count: 1119 _________________________________________________________________________________________________________ CPU 2 Interrupt cycle time (s): 14.601046 CPU 2 ISR highest execution time (µs): 0.0 CPU 2 ISR total execution time (s): 0.0 CPU 2 ISR count: 0 CPU 2 DPC highest execution time (µs): 422.130 CPU 2 DPC total execution time (s): 0.00790 CPU 2 DPC count: 1700 _________________________________________________________________________________________________________ CPU 3 Interrupt cycle time (s): 20.106511 CPU 3 ISR highest execution time (µs): 525.40 CPU 3 ISR total execution time (s): 0.378133 CPU 3 ISR count: 4750 CPU 3 DPC highest execution time (µs): 926.380 CPU 3 DPC total execution time (s): 0.199037 CPU 3 DPC count: 4999 _________________________________________________________________________________________________________ CPU 4 Interrupt cycle time (s): 87.848787 CPU 4 ISR highest execution time (µs): 6795.780 CPU 4 ISR total execution time (s): 8.396409 CPU 4 ISR count: 9582 CPU 4 DPC highest execution time (µs): 2282.390 CPU 4 DPC total execution time (s): 4.726763 CPU 4 DPC count: 20561 _________________________________________________________________________________________________________ CPU 5 Interrupt cycle time (s): 16.396226 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): 957.360 CPU 5 DPC total execution time (s): 0.016707 CPU 5 DPC count: 525 _________________________________________________________________________________________________________ CPU 6 Interrupt cycle time (s): 11.270127 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): 333.150 CPU 6 DPC total execution time (s): 0.003034 CPU 6 DPC count: 517 _________________________________________________________________________________________________________ CPU 7 Interrupt cycle time (s): 9.404884 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): 149.040 CPU 7 DPC total execution time (s): 0.001715 CPU 7 DPC count: 167 _________________________________________________________________________________________________________ One thing I have not tried is doing a full reinstall of windows and reattaching it the vm, but ideally id like to not have to go through all that unless its a last resort, especially since I have seen some other posts mentioning having similar issues even after a reinstall. Can anyone give me any idea what is happening here?
×
×
  • Create New...