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.

2700X Windows VM very poor performance

Featured Replies

Hi - I hope someone can help me. v6.6.6

 

I've read everything i could find on the forum (and the numerous ryzen posts except ones 1000 pages long)

 

I've setup a Windows 10 VM on my unraid server and passed through my 1080ti. 

I first did SeaBios as i had issues with code43.. i managed to sort this out though and converted the seabios version mbr to gpt so i could swap back to OVMF.

 

I'm experiencing really poor performance with what mostly seems the storage but might not be. Right clicking to create a new folder has a delay (on either drive - show specs later). things are jerky etc 

Performance for single core performance in cpuz bench  is about 40-50% less than the bare metal example. 

 

The VM has 5 cores assigned to it and they are isolated and not used by anything else. I've left cores 1, 2 and 3 (0-5) for unraid/dockers.

The VM has 16GB of Ram.
The OS is installed on Cache (have 2 1tb kingston ssds) with 200gb reserved for it.

I have also passed through a samsung 960 nvme 1tb for games (drive e: )

Crystal mark shows ok results for the drive.

 

When i'm copying files from cache to the nvme i see high cpu usaged (about 50% per thread) in unraid main dashboard, although it's always generally high ish even when doing nothing.

 

I'm not using ACS or unsafe interrupts incase they are related.

Moving a youtube video around my desktop is jerky.

Generarly it is just not smooth. Bad Latency? 

 

Also  as a test - If i copy from the nvme onto the nvme (large files), it's fast and seems ok. If i copy from nvme onto the main os drive (which is on the cache) then the unraid CPU spikes, sometimes 3 cores on 100%. Not sure if this is related..

 

My specs are:

2700X CPU

MSI x470 Gaming Plus MB
64GB HyperX 2933mhz DDR4

Samsung 960 1TB nvme (passed controller through to the VM)
2x Kingston 1tb SSD (cache) (on raid card)

4x 3TB WDRED (on raid card)

2x 6TB WDRED (both parity) (ahci on motherboard)

2x 2TB Toshiba deskop drivers (ahci on motherboard)

1x 120GB cheap ssd (unassigned for transcode and torrent temp)

1x Gigabyte 1080ti Aorus

1x Dell Raid card (forget name but well known one LSI rebrand - flashed to IT mode)
1x Intel 4x 1GB NIC (i have pfsense with this passed through to it)

1x 6909 TBS 8 Channel DVB-s

1x WinTV Dual DVB-c/t USB


I've passed through a motherboard usb 3.0 4 port controller, and plugged into that i have my mouse/keyboard/headset/Webcam (it's also plugged into a 2 port hub in my monitor so i have 1 usb spare for hotswapping).

I enabled htep on the VM but no difference either.

attached Diagnostics.. hope someone can help, spent a fortune as you can see :) - using a paid licence too :D

 

urhpg8-diagnostics-20190220-1408.zip

Edited by snailbrain

Let's see your xml for the VM

  • Author
<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='3'>
  <name>WinMain</name>
  <uuid>7af4209a-1db7-2d25-02df-14750ef934ae</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>16252928</memory>
  <currentMemory unit='KiB'>16252928</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>10</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='6'/>
    <vcpupin vcpu='1' cpuset='7'/>
    <vcpupin vcpu='2' cpuset='8'/>
    <vcpupin vcpu='3' cpuset='9'/>
    <vcpupin vcpu='4' cpuset='10'/>
    <vcpupin vcpu='5' cpuset='11'/>
    <vcpupin vcpu='6' cpuset='12'/>
    <vcpupin vcpu='7' cpuset='13'/>
    <vcpupin vcpu='8' cpuset='14'/>
    <vcpupin vcpu='9' cpuset='15'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-3.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/7af4209a-1db7-2d25-02df-14750ef934ae_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='10' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <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='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/WinMain/vdisk2.img'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.141.iso'/>
      <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:bc:cd:4c'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-3-WinMain/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='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='0x1d' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/Downloads/bios/Gigabyte2.rom'/>
      <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='0x1d' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <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='0x01' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x22' slot='0x00' function='0x3'/>
      </source>
      <alias name='hostdev3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1b1c'/>
        <product id='0x0c04'/>
        <address bus='1' device='2'/>
      </source>
      <alias name='hostdev4'/>
      <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>

Thanks :)

  • Author

I just had a small lockup, opened task manager and saw "system interupts" at 42%

  • Author

should i have all of these on?

 

image.png.c816dcb56e9e582472a04d52877cffb5.png

Did you run msi fix on passed through devices?

 

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

 

I would also make this change. I have a 2700x myself and my games run smooth as hell.

2 minutes ago, snailbrain said:

should i have all of these on?

 

image.png.c816dcb56e9e582472a04d52877cffb5.png

I don't have any of those usbport devices checked on mine.

  • Author

Thanks..

 

I think i figured out the issue, or at least a big part of it...

 

Hopefully this helps someone else...


I'm using a Corsair Gaming Keyboard, Mouse and Headset.. and a h110i corsair cpu water cooler

 

Here is the test for CPUz Bench... the multicore isn't that bad (i'm only using 5 of the 8 cores.

but the single core performance you can see is terrible compared to the referenced 2700x...

 

image.png.f1ab0f03a0bb3cc9fd690be57c8e9c17.png

 

Then i closed ICUE - the corsair software that checks temps and probably other stuff to do with my gaming hardware (with millions of tx per second)
image.png.75e576075c436728cfb103198236e23b.png

 

it's not perfect but it is a lot better.

 

I'm no longer able to use my gaming stuff properly but this definitely seems like a big improvement.
Transfering from nvme to the main os cache doesn't seem to use as much cpu 

 

I am still experiencing slow creating folders etc.. i.e. if i right click and choose new, takes a bit for it to say "new folder"

Do you still recommend > <topology sockets='1' cores='5' threads='2'/>

Edited by snailbrain

  • Author

I corrected the topology and i get an extra boost as well, so thanks for that.

image.png.02aa7b062a07054586b0fd39a3befe1f.png

 

I hope someone else finds this thread as i was tearing my hair out.

Any other improvements welcome :)

Well i use iCUe as well for my headset. Gonna have to close it and see what i get with it closed. 

  • Author
17 minutes ago, david279 said:

Well i use iCUe as well for my headset. Gonna have to close it and see what i get with it closed. 

could be related to my cooler - looking for sensors

or

could be the mouse and keyboard with the 1000hz input amounts - i reduced them to 500hz, and closed it down - maybe it saves them locally onto the mouse and keyboard.

  • Author

just an update..

 

Even if you close the ICUE app, it runs a service which was taking 2-5% cpu (of total cores). I also noticed in unraid my 1st CPU was always showing as 20% in use (in the main window).

 

Uninstalling ICUE makes it even better. I'm now only using 4 which is why the multi thread is low.

 

image.png.daaf2e87618a0fc5b96d3e1325920615.png

 

My WinVM seems a lot better. Smooth as anything.
I'm also using acs to passthrough some stuff to other VMs and no performance issues i can see.

  • Author

@david279 

 

Although seem to have sorted that issue - i'm experiencing a separate issue and made a post here, any ideas?

 

 

Archived

This topic is now archived and is closed to further replies.

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.