Jump to content
We're Hiring! Full Stack Developer ×

Performance Hiccups


Concelor

Recommended Posts

After getting a lot for the fine tuning for my VM set up I noticing a small hiccup

There are times when everything pauses, it takes for ever for certain programs to load, or there are some massive delays in typing

I was wondering if there are some tweaks to help address the little hiccups?

Currently I only have one VM, windows 10 on it's own SSD and solely cached to an SSD

I have 14GB of RAM allocated to it

And 6 of my AMD's 8 cores with a GTX660Ti passed thru

 

Reading through the forums

I have seen something called Unassigned Devices plugin and it was suggested that, that could help

But what is it? Surprisingly it's recommended a lot but i wasn't able to find and explanation given, so the engineer in me is curious

Would doing that make a huge difference?

Can I take my existing drive and turn it into an Unassigned Devices or am I going to have to reinstall everything?

Or are there some simpler methods to getting "stand alone system" performance from my VM?

 

As always thanks in advance

 

Link to comment

After getting a lot for the fine tuning for my VM set up I noticing a small hiccup

There are times when everything pauses, it takes for ever for certain programs to load, or there are some massive delays in typing

I was wondering if there are some tweaks to help address the little hiccups?

Currently I only have one VM, windows 10 on it's own SSD and solely cached to an SSD

I have 14GB of RAM allocated to it

And 6 of my AMD's 8 cores with a GTX660Ti passed thru

 

Reading through the forums

I have seen something called Unassigned Devices plugin and it was suggested that, that could help

But what is it? Surprisingly it's recommended a lot but i wasn't able to find and explanation given, so the engineer in me is curious

Would doing that make a huge difference?

Can I take my existing drive and turn it into an Unassigned Devices or am I going to have to reinstall everything?

Or are there some simpler methods to getting "stand alone system" performance from my VM?

 

As always thanks in advance

How are you accessing / interfacing with the VM?  Are you using a browser based VNC connection, a GPU passed through with a mouse and keyboard, or Microsoft RDP?

Link to comment

<domain type='kvm' id='4' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

  <name>Gaming Rig</name>

  <uuid>0c590623-d6e6-c294-54e0-aa89c38e5cd7</uuid>

  <metadata>

    <vmtemplate name="Custom" icon="windows.png" os="windows"/>

  </metadata>

  <memory unit='KiB'>14680064</memory>

  <currentMemory unit='KiB'>14680064</currentMemory>

  <memoryBacking>

    <nosharepages/>

    <locked/>

  </memoryBacking>

  <vcpu placement='static'>7</vcpu>

  <cputune>

    <vcpupin vcpu='0' cpuset='0'/>

    <vcpupin vcpu='1' cpuset='1'/>

    <vcpupin vcpu='2' cpuset='2'/>

    <vcpupin vcpu='3' cpuset='3'/>

    <vcpupin vcpu='4' cpuset='4'/>

    <vcpupin vcpu='5' cpuset='5'/>

    <vcpupin vcpu='6' cpuset='6'/>

  </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='7' 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/disk6/Windows/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>

    <controller type='usb' index='0'>

      <alias name='usb0'/>

      <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='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:75:67:aa'/>

      <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/Gaming Rig.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>

    <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=04:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=04:00.1,bus=root.1,addr=00.1'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:12.0,bus=root.1,addr=00.2'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:12.2,bus=root.1,addr=00.3'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:13.0,bus=root.1,addr=00.4'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:13.2,bus=root.1,addr=00.5'/>

  </qemu:commandline>

</domain>

 

Link to comment

Your issue is that you are running the VM off of an array disk (disk6 from what I can see in your XML).  This is bottlenecking the write performance of the VM to that of the parity protected array, which can cause some serious sluggishness.  Is disk6 your SSD?  Do you have a cache disk?  If you wish to use unassigned devices to store your vdisk instead of an array disk, you need to turn off your VM and copy the vdisk from disk6 to the other disk you wish to use.

Link to comment

Disk 6 is my SSD

So I should move that off the array? How does one do that?

Can I just pull disk6 off the array?

Yeah there's a a cache disk exclusively just for Disk 6 but through the array

Ok, you will need to first stop the array and preferably take a screenshot of your disk configuration on the main tab (so you can remember what disks are on what slots).  You will then need to goto Tools -> New Config and from there, click the checkbox and apply button to reset your disk configuration on unRAID.  This won't delete any data, but when you are done with all this, you will once again need to sync parity.

 

Back on the main tab, make sure you assign the same disk to parity and the remaining disks to the array and cache as you had them before, except for disk 6.

 

If the disk you are using for the cache is also an SSD, you can simply add the former disk6 to another cache slot to create a cache pool.  If its an HDD, you will need to consider either replacing the HDD with the SSD to act as your cache or you will need to consult with the community on how to use the unassigned devices plugin to suit your needs for housing your VM on the SSD without assigning it to the cache.

Link to comment

Yesterday I rearranged the array like suggested.

Had to reinstall windows, but everything seemed to be working fine with the VM being on the cache pool

But this morning before I left for work I tried to start up the VM and I was told could not find the img

Because it was made on the cache pool did it get moved somewhere over night?

If so can i get it back? or do I have to reinstall it again?

Also if that did happen how do I stop it from moving again

It might not be that as a quick glanced showed the cache pool still utilized for the img, but like I said I was heading out the door for work

 

Link to comment

Yesterday I rearranged the array like suggested.

Had to reinstall windows, but everything seemed to be working fine with the VM being on the cache pool

But this morning before I left for work I tried to start up the VM and I was told could not find the img

Because it was made on the cache pool did it get moved somewhere over night?

If so can i get it back? or do I have to reinstall it again?

Also if that did happen how do I stop it from moving again

It might not be that as a quick glanced showed the cache pool still utilized for the img, but like I said I was heading out the door for work

 

Use a cache only share for this.

Link to comment

Archived

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

×
×
  • Create New...