Am I expecting too much from my Win10 VM?


AngelEyes

27 posts in this topic Last Reply

Recommended Posts

Hi.

 

I upgraded the hardware on my server recently (see sig) with the expectation I could do away with my HTPC and run a Win10 VM and LibreELEC VM instead.

 

However I am finding no matter how I seem to configure the two VMs, the performance is dire. I almost always get some pauses or stuttering watching BD rips through Kodi and the Win10 VM is slow and unresponsive as soon as you try and do more than one thing at a time.

 

I mostly use the Win10 VM for remuxing, quickpar and unraring. With my HTPC I could maybe have a couple of things going on at once and still have a fairly responsive PC. With the VM I am finding I can either run quickpar or winrar and only one instance of each before things like explorer start showing me the annoying green bar when they try and open a new folder. Or the whole VM starts hanging with the annoying blue spinner going whenever I try and do anything.

 

I can't help thinking there is some fundamental thing I have setup wrong as file transfer is pretty slow as well. In fact I imagine that is the main bottleneck I just can't track down the issue.

 

I would love some help, hell I'll even PAY for some help at this stage! :)

 

Thank you!

 

Adam

 

Some test I have run, not sure if these are good or bad...??

 

index.php?action=dlattach;topic=54033.0;attach=38798index.php?action=dlattach;topic=54033.0;attach=38800index.php?action=dlattach;topic=54033.0;attach=38802

 

 

 

 

Win 10 VM

 

<domain type='kvm' id='5'>
  <name>Windows 10</name>
  <uuid>08fa427e-28b4-5767-3b82-e7512e7429d9</uuid>
  <description>Home Workstation</description>
  <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/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>10</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='5'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
    <vcpupin vcpu='4' cpuset='8'/>
    <vcpupin vcpu='5' cpuset='14'/>
    <vcpupin vcpu='6' cpuset='15'/>
    <vcpupin vcpu='7' cpuset='16'/>
    <vcpupin vcpu='8' cpuset='17'/>
    <vcpupin vcpu='9' cpuset='18'/>
    <emulatorpin cpuset='0-1,10-11'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/08fa427e-28b4-5767-3b82-e7512e7429d9_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor id='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='5' 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/user/domains/Windows 10/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/disks/Crucial_CT256MX100SSD1_14470DD1207A/Windows 10.2/vdisk2.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </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='sata' index='0'>
      <alias name='sata0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:49:2a:de'/>
      <source bridge='virbr0'/>
      <target dev='vnet0'/>
      <model type='e1000'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target port='0'/>
      <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-Windows 10/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>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <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='0x02' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x046d'/>
        <product id='0xc52b'/>
        <address bus='3' device='8'/>
      </source>
      <alias name='hostdev2'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
</domain>

 

LibreELEC VM

 

<domain type='kvm' id='7'>
  <name>LibreELEC Custom</name>
  <uuid>d5498c3f-e794-1608-658d-67a61b38f9d1</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Ubuntu" icon="ubuntu.png" os="ubuntu"/>
  </metadata>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='3'/>
    <vcpupin vcpu='2' cpuset='12'/>
    <vcpupin vcpu='3' cpuset='13'/>
    <emulatorpin cpuset='0-1,10-11'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.5'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='2'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <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/user/domains/LibreELEC Custom/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <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='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:77:48:cc'/>
      <source bridge='virbr0'/>
      <target dev='vnet1'/>
      <model type='e1000'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
      <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-LibreELEC Custom/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>
    <hostdev mode='subsystem' type='pci' managed='yes' xvga='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' 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='0x02' slot='0x04' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x0745'/>
        <address bus='3' device='11'/>
      </source>
      <alias name='hostdev2'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1934'/>
        <product id='0x5168'/>
        <address bus='3' device='6'/>
      </source>
      <alias name='hostdev3'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>

 

server-diagnostics-20161121-0837.zip

speed_01.png.009c597584a7168c098da9d1678303a3.png

speed_02.png.5b3497a7e43cc4f048ce30b53e27b1a1.png

speed_03.png.479d63912047e164e34b6370594046f6.png

Link to post

I am new to Vm`s and iam learning as i go.

I had strange video playback with win10 kodi x86 which i didnt get while using my RaspberryPi2 with libre or openelec. I solved my stuttering/dropped frames by only selecting the CPU thread pairs only, previously i was using x3 vcpu`s i have x4. When only using the thread pairs everything has smoothed out.

 

From the webgui select Tools>System devices scroll down to show correct thread pairs.

 

I assume you have configured Kodi correctly for 24p? (if you have a 24p tv)

Link to post

Do you have your Windows 10 VM running on its own isolated SSD drive? Are the two VM's running on the same disk? quickpar and winrar are disk I/O intensive tasks and will definitely affect anything else using the same disk. So if you are trying to stream a file that is on the same disk that you are running quickpar/winrar on, its no wonder its causing the stream to stutter. My advice would be to isolate the VM's on their own disk.

Link to post

Your drive tests do not match anandtechs http://www.anandtech.com/show/8066/crucial-mx100-256gb-512gb-review/6

 

Did you test the drive while doing anything else with it?

 

Tried Hyper-v Off? https://lime-technology.com/forum/index.php?topic=38814.0

"Conclusion

 

From the tests I ran, the numbers show a better result with latest drivers and no hyper-v settings in the VM.  If your primary interest is gaming performance, this is the recommended approach.

 

That said, the Hyper-V extensions in Windows may impact performance in other areas which we are still researching.  Disk write performance inside the VM seems to be one area of impact, but we are still experimenting with further tuning settings to see if we can improve this."

 

 

Link to post

Hi Chaps,

 

Thanks for your replies. I will take a look at your suggestions.

 

Both VMs are on the same (cache) SSD so I can see a flag there already.

 

I'll look at moving the VMs to another disk. I have an unnasigned SSD I have just been using for my Dropbox files. I guess I could just wipe it and move the Win10 VM to it and try and keep all my files that need Winrar or Quickpar on the same SSD?

 

Should I move the LibreELEC VM to another disk or leave it on the cache disk?

 

Should I also move my Dockers off the cache disk? I don't run any at the moment but would like to add AirvideoHD and Plex. Will the be ok on an unnasigned HDD or share?

 

Thanks very much!

 

Adam :)

Link to post

Your drive tests do not match anandtechs http://www.anandtech.com/show/8066/crucial-mx100-256gb-512gb-review/6

 

Did you test the drive while doing anything else with it?

 

Tried Hyper-v Off? https://lime-technology.com/forum/index.php?topic=38814.0

"Conclusion

 

From the tests I ran, the numbers show a better result with latest drivers and no hyper-v settings in the VM.  If your primary interest is gaming performance, this is the recommended approach.

 

That said, the Hyper-V extensions in Windows may impact performance in other areas which we are still researching.  Disk write performance inside the VM seems to be one area of impact, but we are still experimenting with further tuning settings to see if we can improve this."

 

Hi, yes tests were run after a fresh reboot with nothing else happening on the server. I turned off Hyper-V and re-ran the tests. Crystal disk mark doesn't show much difference in the 4k test but the lantest shows a lot better read speed.

 

Still a bit concerned how low the 4k test is compared to the disks rated speed. Any suggestions?

 

Thanks.

 

index.php?action=dlattach;topic=54033.0;attach=38823index.php?action=dlattach;topic=54033.0;attach=38825index.php?action=dlattach;topic=54033.0;attach=38827

speed_04.png.ad5d96ae6d6cf525095f923fd5c5b972.png

speed_05.png.c1811fbb1f90361f080772d22fd7aa07.png

speed_06.png.3e71f757054fd1e1af5278e2d9890123.png

Link to post

Is your system a dual CPU system?  the MB you have in your server specs is a single CPU MB.  If that is the case and you only have a single CPU you may want to redo your CPU Pinning.  You are using 10 core's for your WIN 10  VM and 4 for your LibreELEC VM. and this could be causing some of your issues

Link to post

In an ideal scenario, you would have a separate cache disk and then a separate SSD for your windows 10 VM and a separate disk for your LibreElec VM as well. Your Quickpar and unrar actions should only be occurring on your cache disk.

 

Ok, so if I understand correctly:

 

1. Move Win10 VM to its own SSD

2. Move OpenELEC VM to another HDD

3. Any downloads I wish to quickpar or unrar to the array need to be stored on the cache disk?

 

Is that correct?

 

Thank you :)

Link to post

Is your system a dual CPU system?  the MB you have in your server specs is a single CPU MB.  If that is the case and you only have a single CPU you may want to redo your CPU Pinning.  You are using 10 core's for your WIN 10  VM and 4 for your LibreELEC VM. and this could be causing some of your issues

 

Hi, Yes is is a single CPU and the processor has 20 cores with Hyperthreading enabled (I did try with hyperthreading off but it didn't seem to make any difference). The array has 8 cores it can use. Is that enough? As i was planning to restrict it using those in use by the VMs by adding this to the syslynux config file:

 

append isolcpus=4,5,6,7,8,9,14,15,16,17,18,19 initrd=/bzroot

 

As per: https://lime-technology.com/forum/index.php?topic=49051.0

 

index.php?action=dlattach;topic=54033.0;attach=38831

 

cpu-pins.png.f1e96ccd2947c4b816c82b4cb18c8186.png

Link to post

1eq2rs.png

Thats a entry level Sandisk SSD plus 240gb which win10 VM is running from. Its my cache drive also. Slower writes by way faster reads.

 

I do have the exact same Crucial drive as yours, its currently used for games on my desktop. I may bench it from win10 VM see how it fairs against yours.

 

EDIT Sorry i cant bench the crucial ATM as i have run out of sata ports until i buy an add on card. :(

Link to post

Yes you are correct.

 

AM

 

Ok, so if I understand correctly:

 

1. Move Win10 VM to its own SSD

2. Move OpenELEC VM to another HDD

3. Any downloads I wish to quickpar or unrar to the array need to be stored on the cache disk?

 

Is that correct?

 

Thank you :)

Link to post

Thanks again chaps, I'll keep digging away. :)

 

AM, do you know of a guide or have any advice for moving VMs to another drive? I moved the Win10 image file to my unnasigned SSD and changed the location in the VM xml but I just ended up with a 'windows repair' loop when i reboot the VM.

 

Thanks!

 

Adam

Link to post

Also it is a bit of a long shot but could someone please advise on how best to setup my RAM just in case this is having a negative affect?

 

I have four 8Gb dimms but the motherboard has 12 sockets and as far as I can tell supports a variety of dimm positions, its a bit lost on me to be honest. At present I have a dimm in each of the blue slots, P0_A0, P0_B0, P0_C0 and P0_D0

 

Is this incorrect?

 

Thank you!

dimm_01.gif.ab27f64a9fb3caa906a996fc09e9eea6.gif

dimm_02.gif.514c180ecc49ef25f99a62d05af9d63c.gif

Link to post

Thanks again chaps, I'll keep digging away. :)

 

AM, do you know of a guide or have any advice for moving VMs to another drive? I moved the Win10 image file to my unnasigned SSD and changed the location in the VM xml but I just ended up with a 'windows repair' loop when i reboot the VM.

 

Thanks!

 

Adam

 

Unfortunately I don't but someone on here must know how its done.

Link to post

Also it is a bit of a long shot but could someone please advise on how best to setup my RAM just in case this is having a negative affect?

 

I have four 8Gb dimms but the motherboard has 12 sockets and as far as I can tell supports a variety of dimm positions, its a bit lost on me to be honest. At present I have a dimm in each of the blue slots, P0_A0, P0_B0, P0_C0 and P0_D0

 

Is this incorrect?

 

Thank you!

 

Are you getting any errors from the BIOS on post? Looks right to me.

Link to post

I managed to move the Windows VM and Docker img to my spare SSD, it wasn't difficult once I actually mounted the SSD mounted after the reboot,  Doh! :)

 

I decided to run a disk speed test now the Windows VM is on another drive and it still gets really slow 4k read and right speeds for an SSD ~ 20MB/s.

 

This seems to point at a universal issue rather than a problem with a specific SSD. Any ideas where I can start looking next?

 

EDIT: because I seem to be running almost exactly 50% of the expected speed, could this be that my drives are being restricted to 3Gb/s rather than 6Gb/s on my Sata ports? I seem to recall seeing something about 3Gb/s during unraid boot up???

 

Thank you

 

Adam :)

Link to post

Rocket raid 640l incoming, I will bench the crucial this weekend.

We will see if the 4k sequential write/reads are similar.

 

EDIT I have had to RMA my supermicro board as it seems the BIOS/UEFI has corrupted so i doubt the server will be online for a few weeks now :/

Hope you get to the bottom of your issue

 

 

Link to post

Rocket raid 640l incoming, I will bench the crucial this weekend.

We will see if the 4k sequential write/reads are similar.

 

EDIT I have had to RMA my supermicro board as it seems the BIOS/UEFI has corrupted so i doubt the server will be online for a few weeks now :/

Hope you get to the bottom of your issue

 

Thanks I'll keep trying.

 

All VMs are on separate disks now but Windows 10 VM still has odd behaviour even on a dedicated SSD. For instance the other morning I went to open a folder on the VM itself and got the green bar/blue spinner for about 40s before anything happened. This is the sort of delay I used to get on a standalone PC trying to access the array over the network and what I hoped a VM would avoid.

 

Kodi performance seems a bit better, much less locking up and skipping video but it still happens occasionally.

 

Really frustrating.

Link to post
  • 2 weeks later...

My results are also somewhat different. I've also taken to isolcpus and using only two cores / four threads for the virtual machine. I also have the two disk images hosted on an lz4 compressed ZFS pool on my SSDs.

 

index.php?action=dlattach;topic=54033.0;attach=39208;imageindex.php?action=dlattach;topic=54033.0;attach=39210;image

index.php?action=dlattach;topic=54033.0;attach=39212;image

 

<domain type='kvm' id='1'>
  <name>Windows 10</name>
  <uuid>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</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/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='3'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='2'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <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/zfs/domains/Windows 10/vdisk1.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='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/zfs/domains/Windows 10/programming.img'/>
      <backingStore/>
      <target dev='hdd' bus='virtio'/>
      <alias name='virtio-disk3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/disk1/Purgatory/CD Images/vs2015.com_enu.iso'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </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='xx:xx:xx:xx:xx:xx'/>
      <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 port='0'/>
      <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-Windows 10/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>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <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='0x00' slot='0x1b' function='0x0'/>
      </source>
      <alias name='hostdev1'/>
      <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='0x01' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </memballoon>
  </devices>
</domain>

DiskMark64_2016-12-10_12-06-01.png.d9e4c438c013f65927211ae20c895bda.png

LAN_SpeedTest_2016-12-10_12-07-37.png.0b5b8fb0c0cf7b3aa712e3b50aff9376.png

PassMark_2016-12-10_12-32-58.png.52b2bcd891978db8c89d3efaa7762c8f.png

Link to post

Updated CrystalDiskMark shots, with a new VM backed on an XFS cache drive.

 

First one's using cache='none' io='native':

 

index.php?action=dlattach;topic=54033.0;attach=39284;image

 

Second one's using the defaults that always get overwritten by the template editor, cache='writeback', and no io parameter:

 

index.php?action=dlattach;topic=54033.0;attach=39286;image

 

The io=native mode appears to reflect the actual drive performance, with the overhead of XFS and virtualization factored in.

DiskMark64_2016-12-13_14-27-36.png.d2a5683d14556163f6f0f976668ef123.png

DiskMark64_2016-12-13_14-35-44.png.8178fba9c6d05906c4b0c4ace0470d27.png

Link to post

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.