Performance problem with a gaming VM


Recommended Posts

@DarkyCage like ryanm91 wrote, I would try with 12-23 and 36-47 to see if there's any difference.

 

@Mrtj18 I think that your CPUs should be powerful enough, I mean yes the 3600x is not new but 6c/12t is still relevant IMHO.

 

Did you tried to look at what your VM CPU was doing during a benchmark, using a tool like perfmon ?

This could tell you where the bottleneck is if any. IO for example would be a good culprit.

Link to comment
4 hours ago, hot22shot said:

@DarkyCage

 

@Mrtj18 I think that your CPUs should be powerful enough, I mean yes the 3600x is not new but 6c/12t is still relevant IMHO.

 

Did you tried to look at what your VM CPU was doing during a benchmark, using a tool like perfmon ?

This could tell you where the bottleneck is if any. IO for example would be a good culprit.

I have never used this tool before, so I'm not sure how to accurately read it to diagnose any potential issues.

Link to comment
These are screenshots of my benchmark. One is from my bare metal results, and the next is from my windows VM.
 
This is with the pinned CPUs we discussed.
PXL_20221202_135128350_MP.thumb.jpg.46c1203688f2f6dfc360a1a4350883fe.jpg
PXL_20221202_140547144_MP.thumb.jpg.c0256225e861bfa58b77b3d3b70d0158.jpg
So about 64% performance. This seems like roughly what I've been seeing on my system judging by the frame rates I've been getting.

Did you watch your CPU usage during the benchmarks?

Sent from my SM-G996U using Tapatalk

Link to comment
57 minutes ago, ryanm91 said:

So about 64% performance. This seems like roughly what I've been seeing on my system judging by the frame rates I've been getting.

Did you watch your CPU usage during the benchmarks?

Sent from my SM-G996U using Tapatalk
 

I only monitored the CPU usage from the desktop menu from unraid. All designated pinned CPU cores was maxed at 100% usage.

Link to comment
6 hours ago, hot22shot said:

@DarkyCage like ryanm91 wrote, I would try with 12-23 and 36-47 to see if there's any difference.

 

@Mrtj18 I think that your CPUs should be powerful enough, I mean yes the 3600x is not new but 6c/12t is still relevant IMHO.

 

Did you tried to look at what your VM CPU was doing during a benchmark, using a tool like perfmon ?

This could tell you where the bottleneck is if any. IO for example would be a good culprit.

I still have poor performance ;-;

Link to comment
I only monitored the CPU usage from the desktop menu from unraid. All designated pinned CPU cores was maxed at 100% usage.
Sounds like CPU bottleneck which also corresponds to what I saw. I use around 10 percent in Diablo 2 and 40 percent on halo infinite in bare metal. 18 cores in VM I was seeing 40 percent and 80 percent respectively. Which would explain bottlenecking the GPU and lower GPU usage.

The question is now gentleman is why?

Sent from my SM-G996U using Tapatalk

Link to comment
 
It might be interesting to capture a detailed output of the top command on the unraid host with all the core during a benchmark, something like that :
image.thumb.png.6f482681f9d8ac3b6537b8b40c010d0d.png
 
As soon as my new SAS card comes this weekend I will be doing some benchmarks and I'll try to capture some data. Also going to try some XML mods and see if I can get closer to maybe 85 or 90 percent of performance.

Sent from my SM-G996U using Tapatalk

Link to comment

Attached is the top command within unraid of my system while running the cyberpunk benchmark WITH 3 pinned CPUs for the VM. I will have to run the benchmark again with all threads enabled when the girlfriend is not watching TV, with tvheadend enabled, because it may effect the TV playback. Lol... 

 

The top line of qemu-system-x86 is the windows VM...

PXL_20221203_002626493.MP.jpg

Link to comment
6 hours ago, Mrtj18 said:

 

The top line of qemu-system-x86 is the windows VM...

 

 

You can press 1 to have detailled data by CPU core, you'll be able to see the % of load for each status per core:

 

us: user cpu time (or) % CPU time spent in user space

sy: system cpu time (or) % CPU time spent in kernel space

ni: user nice cpu time (or) % CPU time spent on low priority processes

id: idle cpu time (or) % CPU time spent idle

wa: io wait cpu time (or) % CPU time spent in wait (on disk)

hi: hardware irq (or) % CPU time spent servicing/handling hardware interrupts

si: software irq (or) % CPU time spent servicing/handling software interrupts

st: steal time - - % CPU time in involuntary wait by virtual cpu while hypervisor is servicing another processor (or) % CPU time stolen from a virtual machine

 

When playing or during a benchmark, your processor is at 100% so it's doing something, the question is what.

This tool might tell us if it's busy with something else, by disk IO for example (wa).

 

Edited by hot22shot
Link to comment

i found another post about a user on here complaining his 3090 was only about half performance. He said under windows features not having hyperv/sandbox/linux workspace installed improved his performance. Sure enough I turned off hyperv in windows features and my gpu utilization went way up. Just tested out diablo 2 and was using 98 percent of the gpu and 225 fps. Also played the callisto protocol on the vm and was holding good frames and 80 percent plus in most areas on GPU and 98 on Vram.

  • Upvote 2
Link to comment
2 hours ago, ryanm91 said:

i found another post about a user on here complaining his 3090 was only about half performance. He said under windows features not having hyperv/sandbox/linux workspace installed improved his performance. Sure enough I turned off hyperv in windows features and my gpu utilization went way up. Just tested out diablo 2 and was using 98 percent of the gpu and 225 fps. Also played the callisto protocol on the vm and was holding good frames and 80 percent plus in most areas on GPU and 98 on Vram.

I wish this applied to me, I checked this before I even posted in this topic and as u can see I do not have those options, or its not enabled on my setup... I'm stuck here, not sure what else to try.

PXL_20221204_084010832.MP.jpg

Link to comment

First of all nice finding @ryanm91, in the beginning of my Gaming VM creation I followed a similar guide but honestly I totally forgot about it.

 

@Mrtj18 you obviously does not have the same issue, I would suggest collecting more logs from Windows this time, you'll find a guide there : https://bobcares.com/blog/perfmon-counters-for-cpu-usage/#:~:text=Perfmon Counters for CPU Usage include Processor%3A % Processor Time%2C,that are running on it.

 

It will explain how to enable a detailled activity of your processor and the % of time your CPUs are in each state.

Link to comment

Welp seems I figured it out..... My issue of "low performance" was due to the low amount of cores allocated to my Windows VM. With only 3 cores dedicated to the VM I was getting 41 FPS average. And with 5 cores and 5 threads allocated my ryzen 5 3600x is performing more like an i7 4930k. So my performance is on par on what it should be. I just need to save up some more funds to purchase a higher core processor that can allow me to dedicate more  CPU resources to the VM. Because my RTX 3080 is just being bottlenecked. 

 

Thanks for all your assistance @hot22shot

 

On to my next Unraid project!

Cyberpunk-2077-CPU-benchmarks-1.png

Cyberpunk-2077-CPU-benchmarks-2.png

2022-12-08_0638_1.png

  • Upvote 1
Link to comment
Welp seems I figured it out..... My issue of "low performance" was due to the low amount of cores allocated to my Windows VM. With only 3 cores dedicated to the VM I was getting 41 FPS average. And with 5 cores and 5 threads allocated my ryzen 5 3600x is performing more like an i7 4930k. So my performance is on par on what it should be. I just need to save up some more funds to purchase a higher core processor that can allow me to dedicate more  CPU resources to the VM. Because my RTX 3080 is just being bottlenecked. 
 
Thanks for all your assistance @hot22shot
 
On to my next Unraid project!
Cyberpunk-2077-CPU-benchmarks-1.thumb.png.f04d83bbddf135d3871bc99961d36000.png
Cyberpunk-2077-CPU-benchmarks-2.thumb.png.90075af2323f2ac4f36321fbc4f88961.png
2022-12-08_0638_1.thumb.png.b0d9d92c6d4b9fd3f965008ec396f069.png
Wonderful news! I would suggest slamming a 5800x3d in smile.png

Now if only we could fix @DarkyCage the OP unsure.png

Sent from my SM-G996U using Tapatalk


Link to comment
6 minutes ago, ryanm91 said:

Wonderful news! I would suggest slamming a 5800x3d in smile.png

Now if only we could fix @DarkyCage the OP unsure.png

Sent from my SM-G996U using Tapatalk

 

Do you think 8 cores in the 5800X3D is enough for a dedicated windows 11 VM? I mean If we take one or two cores off, just to dedicate to unraid, that would only leave 6 or 7. Which could possibly put me in the ball park of where my system is today, just bare metal?

Link to comment
  • 3 months later...

Had the same problem as described in the first post. Tried everything that was stated here to solve it, but nothing helped... except until i tried what ryanm91 posted. In my case removing the windows feature Virtual Machine Platform solved it. I now get twice the fps and much higher disk read throughput. As Mrtj18 stated, it might not help in every case, but its worth a try.
 

On 12/4/2022 at 6:43 AM, ryanm91 said:

i found another post about a user on here complaining his 3090 was only about half performance. He said under windows features not having hyperv/sandbox/linux workspace installed improved his performance. Sure enough I turned off hyperv in windows features and my gpu utilization went way up. Just tested out diablo 2 and was using 98 percent of the gpu and 225 fps. Also played the callisto protocol on the vm and was holding good frames and 80 percent plus in most areas on GPU and 98 on Vram.

 

  • Like 1
Link to comment

I wish I saw this topic earlier but anyway I will put this here, may be it'll help someone.

Whenever you see your gpu under utilized the issue might be is the timer. Your VM 'clock' section must look like this:

<clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
    <timer name='tsc' present='yes' mode='native'/>
  </clock>

Also read this [SOLVED] GEARS OF WAR 4/5 WINDOWS VM TERRIBLE PERFORMANCE

In a nutshell you must ensure your host 'TSC' timer works correctly.

  • Like 2
Link to comment

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.