A couple issues with my VMs


Recommended Posts

Hello there everyone!

 

I've been using UnRaid to host my dual gaming machine for about two months now, and I'm very satisfied when it comes to performance: it's 90 to 98% of the bare metal, with the notable exception of Heroes of the Storm that for some unfathomable reason runs a lot worse, you might recall my post about it, about one month back. Today's post isn't about that though; instead, I'd like your opinion about a few minor but annoying issues I've got.

 

1 - VM becomes stutter-y and requires restarting the host to fix

 

1 a - Description of the issue

 

Occasionally, my VM ends up in a really weird state: everything's stutter-y, even the mouse cursor over my desktop is barely usable, any operation takes forever (opening a window, opening the start menu, even shutting down); it also seems to get stuck with some actions, for example: I would move the cursor towards the left a bit, and it would slowly keep going that direction (all stutter-y, still) forever. To give you an idea of how slow everything is, any window, say the control panel, is drawn very slowly and fades-in in distinguishable steps (imagine: 10% transparency >> 40% >> 70% >> 100%, in about 3 seconds). Note that in the meantime, the host UnRaid OS is perfectly fine and, If I happen to have the second VM running at that same time, it does not necessarily suffer from the same issue. This does NOT exclusively happens when I'm running both VMs, it happens at random on my VMs (both of them) even when just one is running with full resources.

 

1 b - Apparent triggers

 

The issue i just described happened in a few cases:

 

- After updating Nvidia drivers (not always).

- After a VM restart (not always, but often times).

- After spending a night processing GPU intensive tasks (very often).

 

1 c - The way I fix it

 

- If I restart or shutdown the VM and stat it back up again, the issues does NOT go away.

- If I shutdown the VM, then restart the physical machine, it usually goes away (but not always).

- If I power cycle the physical machine, it always goes away.

 

1 d - Questions

 

Obviously: any idea what's going on? Anyone else with the same issue or a comparable one?

 

2 - My main VM runs significantly worse then the secondary one.

 

1 a - Description of the issue

 

My main VM gets full resources (my specs at the end of the post) most of the time, and is getting my GTX1070 passed through. Everything works great. When a friend comes over, I shut down my VM, edit the configuration to split resources appropriately, and fire up my VM as well as a second one: they get 2 physical cores each (4 logical cores) and 6.6 GiB of memory; the second VM gets a GTX660 as a video card. I have no IOMMU issues (fixed them all); it works quite well, but I noticed a really really strange thing that I can't figure out: the secondary machine actually runs better then my first when it comes to NON-GPU related performance. Take Rocket League, a game that's super easy on my GTX1070 and is clearly CPU-bound: if I set both with quite low graphical settings (in order to make sure neither GPU is bottlenecking), the secondary VM runs about 20 FPS higher then my main one, which is baffling to say the least. I verified it in a couple more games and the behavior seems consistent: my main VM runs worse then the second one, despite absolute parity in cores and memory. Note that, obviously, if I set higher settings, GPUs become the bottleneck, and my machine runs much better, so it's clearly something with the CPU or memory or some other bottleneck I'm not thinking of that, somehow, only affects one of the two VMs. I tried switching cores around, disabling Hyperthreading, reinstalling the OS multiple times, to no avail. At some point I tried switching the GPUs positions in their respective PCIexpress slots (first and third), but both Windows installations got mad at it and wouldn't start, so I didn't test that.

 

2 b - Well, any idea?

 

3 - Is there any way to monitor CPU temperatures on the guests?

 

Probably not, but I'm deeply unsatisfied about Dynamix plugins, I would like something more in-depth, showing me real time temps per core, clock per core, voltage, usage per core. This is probably a moot question but is there any alternative? Or is there a software somehow capable of properly monitoring from the guest? (probably impossible).

 

Specs

 

Motherboard // MSI Z170A Gaming M5

Processor // Intel Core i7 6700K Skylake

Cooling // Corsair H110

Memory // 16 GiB Crucial Ballisitx 2400

Storage #1 // Samsung SSD970EVO 250 GiB M.2

Storage #2 // Samsung SSD840EVO 500 GiB SATA

Storage #3 // Samsung SSD850EVO 120 GiB SATA

Storage #4 // Western Digital Caviar Purple 4 TiB SATA

Power Supply // Corsair TX850-EU

Cooling Corsair H110

GPU #1 // Nvidia GeForce GTX1070

GPUI #2 // Nvidia GeForce GTX660

 

Thanks everyone and have a great day!

 

Edited by nasuellia
Link to comment

Similiar effects i had on my first VMs. Changing the power plan in Windows from balanced (default) to high performance basically fixed that issue for me. A couple informations about your setup would be helpful. I don't see any specs nor any settings for the VMs which cores you selected for which VM. I isolated the cores that only my gaming VM should use, so no other process or docker can use that specific cores. Maybe you did a mistake that way. Also a good ressource to tweak your VM are the videos from SpaceInvader. It`s a series of videos with different tweaks they might help you to improve your performance.

 

Edit:

 

For Monitoring i use Netdata. Can be found in the CA and i think SpaceInvader also did a video on that.

 

 

Edited by bastl
Link to comment
30 minutes ago, bastl said:

Similiar effects i had on my first VMs. Changing the power plan in Windows from balanced (default) to high performance basically fixed that issue for me. A couple informations about your setup would be helpful. I don't see any specs nor any settings for the VMs which cores you selected for which VM. I isolated the cores that only my gaming VM should use, so no other process or docker can use that specific cores. Maybe you did a mistake that way. Also a good ressource to tweak your VM are the videos from SpaceInvader. It`s a series of videos with different tweaks they might help you to improve your performance.

 

Edit:

 

For Monitoring i use Netdata. Can be found in the CA and i think SpaceInvader also did a video on that.

 

 

Hi thanks for replying!

 

My system is already set on maximum performance regarding power plans (both in the Windows 10 VMs and in UnRaid through the

Tips and Tweaks plugin. On top of that, I've also made sure my CPU runs at max clock all the time by disabling Speedstep and manually setting the clock to a fixed frequency. So that's not the issue.

 

You didn't see specs because I'm an absolute cretin and I forgot to paste them, I edited the post now! :)

 

As far as core-pinning and isolation, I ran a trainload of tests when I was setting up the system initially a couple months ago, and I concluded that, given that I run NO docker and NO cpu intensive operation on my server, it makes no sense for me to renounce a couple logical cores to dedicate for exclusive use of the server, in fact if I do that i LOSE performance, significantly. After a lot of benchmarking, I concluded that in my specific circumstance, letting UnRaid access all cores and just splitting them across the VMs (4 and 4 if both need running, or all 8 to my machine most of the time when I'm alone) works the best, by far.

 

Last month when I was setting up, I think I watched 3/4 of the SpaceInvader's channel on Youtube, hugely informative and well done.

 

Regarding monitoring, I forgot about Netdata, I did watch that video back then! I'll give it a run, thanks!

Link to comment

Never pin core 0 and it's thread, it's always used by Unraid itself. Try not to use all available cores in 1 VM. You have to give the hypervisor (unRaid) his own ressources because it has to do stuff in the backround. Another thing, in case you passthrough a Samsung NVME to a VM, make sure to install the driver from Samsung and don't use the Windows one. The default Windows driver can cause slowdowns even in bare metal installs. Same for the RAM, don't give all the RAM your server has to the VMs.

Edited by bastl
Link to comment
38 minutes ago, bastl said:

Never pin core 0 and it's thread, it's always used by Unraid itself. Try not to use all available cores in 1 VM. You have to give the hypervisor (unRaid) his own ressources because it has to do stuff in the backround. Another thing, in case you passthrough a Samsung NVME to a VM, make sure to install the driver from Samsung and don't use the Windows one. The default Windows driver can cause slowdowns even in bare metal installs. Same for the RAM, don't give all the RAM your server has to the VMs.

Hi! Thanks for replying!

 

As I just wrote in the previous reply, that's not always true. I ran tests for weeks, and isolating 6 cores (pinned to the VM) and leaving a couple for exclusive use to UnRaid (0,4) actually brings a measurable decrease of performance. Consider that I run NO dockers and my host is doing NO cpu-intensive task whatsoever, the cpu usage from UnRaid itself is tiny to say the least.

 

I had this issue with both passed-through M.2 disks and with Vdisks, my disk performance are perfect, and my issue has nothing to do with disks anyway.

 

About RAM, it's not even possible to assign all RAM to the VMs, UnRaid prevents you to do so and sets a maximum amount. In any case, all possible reasonable amounts of RAM have been tested before.

 

Anyways, the point here isn't that I have general performance issues, on the contrary: everything is super fine and in-line with what it should be. The weirdness I'd like experienced opinions about is: why on earth, when both the VMs are running, would one of them suffer a decrease in CPU/RAM performance and the other NOT?

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.