January 18, 201610 yr Hello, I'm running a Windows 10 VM on my unraid server's ssd cache drives. 4 CPUs, 8GB of Ram and a GTX 750 Ti The problem I'm running into is the disk is constantly maxed out at 100% inside the VM, the problem is the max speed it reaches is only 1 MB/s which is not good at all! Maybe I'm doing something wrong, I've reinstalled it several times now and followed the post install tuning guide, what else can I do? Here's my XML <domain type='kvm' id='1' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>WiseHTPC</name> <uuid>d2cf32d3-8204-c639-626c-dca8e87c97b4</uuid> <metadata> <vmtemplate name="Custom" icon="windows.png" os="windows"/> </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='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='4' threads='1'/> </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/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/cache/appdata/vm/WiseHTPC/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='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/appdata/vm/Windows+10+x64.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> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/appdata/vm/virtio-win-0.1.112.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'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 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:f9:7e:90'/> <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/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/WiseHTPC.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='usb' managed='yes'> <source> <vendor id='0x0bda'/> <product id='0x0151'/> <address bus='1' device='7'/> </source> <alias name='hostdev0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> <address bus='1' device='3'/> </source> <alias name='hostdev1'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x1784'/> <product id='0x0011'/> <address bus='1' device='8'/> </source> <alias name='hostdev2'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/> </qemu:commandline> </domain>
January 18, 201610 yr Author What is your hardware setup? i7-4790 16GB Ram GTX 750 ti 1x 4TB WD Green Parity Drive 2x 2TB WD Green Data Drives 1x 1TB WD Green Data Drive 3x 256 GB Samsung SSD Cache Drives
January 18, 201610 yr What is your hardware setup? i7-4790 16GB Ram GTX 750 ti 1x 4TB WD Green Parity Drive 2x 2TB WD Green Data Drives 1x 1TB WD Green Data Drive 3x 256 GB Samsung SSD Cache Drives Looks good. I remember someone else had a similar problem, but don't remember the solution. Try a search.
January 18, 201610 yr Author I have been - everything I read involved following the tuning guide. There has to be something I'm missing - Could it be bad virtio drivers on the initial install? I've been using the latest ones maybe I'll give it another go with the stable ones.
January 18, 201610 yr I have been - everything I read involved following the tuning guide. There has to be something I'm missing - Could it be bad virtio drivers on the initial install? I've been using the latest ones maybe I'll give it another go with the stable ones. Try different drivers. Also different beta's. Does it get better if you do not assign the first core to the VM? Do you have anything else running at the same time? Are you sure the vdisk share is a cache only share?
January 18, 201610 yr I take it back, its calmed down. I just created this VM so that explains why it may have been a bit crazy initially.
January 19, 201610 yr Switching from RAW to qcow2 solved my issue. That makes no sense. Qcow2 should never be faster than raw.
January 19, 201610 yr I don't get it at all either- but it worked.. Nah, something else is going on. Did you run disk benchmarking tools or.just eyeball it?
January 19, 201610 yr Author Eyeballed, but I was literally unable to do anything inside the VM because the disk was so slow. Even installing it originally took forever, once I switched to qcow2 the install time was cut by by 75%
January 20, 201610 yr Eyeballed, but I was literally unable to do anything inside the VM because the disk was so slow. Even installing it originally took forever, once I switched to qcow2 the install time was cut by by 75% Yeah, I'm not convinced. I bet if you let it run for a while its have been better performance as raw.
January 20, 201610 yr Author Eyeballed, but I was literally unable to do anything inside the VM because the disk was so slow. Even installing it originally took forever, once I switched to qcow2 the install time was cut by by 75% Yeah, I'm not convinced. I bet if you let it run for a while its have been better performance as raw. I let it run for 12 hour before touching it the first time and it was horribly slow - I couldn't even get chrome to download. I'll set up a second vm with a junk video card and run some benchmarks over the weekend and post the results. Edit: Or do you think it would be better to make a backup of the VM and convert from qcow2 to raw? I found this guide- https://easyengine.io/tutorials/kvm/convert-qcow2-to-raw-format/
January 20, 201610 yr Author Update- Converted my working qcow2 disk to raw and ran some benchmarks, although it's a bit better then before (Not sure which of the 50 changes I've made since last trying raw fixed it) qcow2 still seems to be outperforming raw. qcow2 raw
January 20, 201610 yr Update- Converted my working qcow2 disk to raw and ran some benchmarks, although it's a bit better then before (Not sure which of the 50 changes I've made since last trying raw fixed it) qcow2 still seems to be outperforming raw. qcow2 raw Absolutely bizarre. I'll have to recreate some tests of my own to see if I get the same result and then investigate as to why. QCOW files should have more overhead by their very nature.
January 21, 201610 yr I spoke to soon.. Now my qcow2 disk is only getting 1MB/s I didn't get any reply on this question before, so I try again. Are you sure that the vdisk share is cache only and not moved to the array by the mover?
January 22, 201610 yr Author I spoke to soon.. Now my qcow2 disk is only getting 1MB/s I didn't get any reply on this question before, so I try again. Are you sure that the vdisk share is cache only and not moved to the array by the mover? Positive, my vms are in /mnt/cache/vms
January 22, 201610 yr I spoke to soon.. Now my qcow2 disk is only getting 1MB/s I didn't get any reply on this question before, so I try again. Are you sure that the vdisk share is cache only and not moved to the array by the mover? Positive, my vms are in /mnt/cache/vms Your XML does not say the same path for the vdisk, but you might have changed it after that?
January 22, 201610 yr Author I moved it around a bunch, even then my appdata directory is set to cache only. I think the problem was something to do with my demonic audio problem. If my AV receiver was off when unRAID was booted then the GPU would have the demonic audio problem and cripple the VM. That's the only thing I can think of at this point because it doesn't matter if I'm using qcow2 or raw now. I can test this theory later tonight by booting with the receiver off and running benchmarks and comparing to what I'm seeing now. Jonp looks like you were right! Raw was slightly better when everything is working properly-
Archived
This topic is now archived and is closed to further replies.