Jump to content

Gaming on VMs


Shigo_Naito

Recommended Posts

Hello,

I am looking for some advice on how to get the most performance out of the VMs that I can get.  I would like to see if I can have two decent running VMs that I can use for gaming and LAN parties.

 

The Setup I have:

Asus Crosshair V Formula-Z

FX-9590 (8 Cores, 4.7Ghz)

16GB DDR3

AMD 7870

NVidia 960

 

Just running the stock setting unraid gives with, 4GB memory, 4 cores, SSD and video pass-through I am seeing less than half the performance of what the video cards should do on a standalone system.  With 3DMark the 960 scored about 4000 and the 7870 scored about 3800.  I know I will not see the same numbers as I would if they were not virtual, but any advice on how I should setup the VMs to get more power would be greatly appreciated.

 

Additional Thoughts:

Would sharing all 8 cores help or hurt the performance vs just giving 4 cores each? 

 

Would setting up one VM as this:                And the other like this:

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

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

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

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

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

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

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

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

 

Make any difference?

 

Thanks for the help

 

Link to comment

Interesting, I have not made the swap to unRAID/KVM yet, but am in process of shifting data around on my FlexRAID hard drives to make the switch.

 

I plan on doing similar to you. Running my current rig with XenServer, I get near identical bare metal performance(within 1%).

 

Are your benchmark scores CPU limited? Giving half the cores would explain getting half the score.... I am not familiar with the AMD offerings, as I use Intel. I know when benchmarking, I give 3 cores(3 threads) to each VM, and my benchmarks run fine. Bare metal the scores were run on 4 cores(8 threads).

Link to comment

Hello,

I am looking for some advice on how to get the most performance out of the VMs that I can get.  I would like to see if I can have two decent running VMs that I can use for gaming and LAN parties.

 

The Setup I have:

Asus Crosshair V Formula-Z

FX-9590 (8 Cores, 4.7Ghz)

16GB DDR3

AMD 7870

NVidia 960

 

Not too familiar with AMD-based setups (Intel CPUs are definitely preferred) but it Should Work just the same ;-).

 

Just running the stock setting unraid gives

 

Explain "stock setting unRAID gives."

 

with 4GB memory, 4 cores, SSD and video pass-through I am seeing less than half the performance of what the video cards should do on a standalone system.  With 3DMark the 960 scored about 4000 and the 7870 scored about 3800.  I know I will not see the same numbers as I would if they were not virtual, but any advice on how I should setup the VMs to get more power would be greatly appreciated.

 

Did you run bare-metal tests in 3D Mark?  Can you please share the scores from each test you performed as physical and as a VM?  I'd like to see the individual scores for graphics, physics, and combined tests (not just the total scores).

 

Additional Thoughts:

Would sharing all 8 cores help or hurt the performance vs just giving 4 cores each?

 

Would setting up one VM as this:                And the other like this:

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

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

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

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

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

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

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

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

 

Make any difference?

 

Are you running two VMs concurrently (each assigned a different GPU) and then running the tests at the same time?  If so, the purpose of CPU pinning is to isolate VMs from one another.  If VM A and VM B are pinned to the same physical CPU cores, you are going to see MAJOR performance degradation as you are causing massive CPU context-switching to occur by sharing those cores.  You would be better served doing 4 cores per VM, isolated each to different CPU cores, like so:

 

    VM A:                                                      VM B:

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

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

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

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

Link to comment
  • 1 year later...

Archived

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

×
×
  • Create New...