Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Optimization for 2 VR server

Featured Replies

Hello!  I have recently turned my 3900x 2 GPU system into a 2-player VR system using unraid.  I am very satisfied (will likely use unraid for as long as it's around now) and performance is outstanding, but I figure there is always room for improvement and was wondering if the members here might know some optimizations.

 

Currently I have it split into two VMs

Core 1 and Hyperthread = Dedicated to Unraid, no dockers running.

Core 2-6 = Dedicated to VR VM 1, uses two SSDs passed through.

Core 7-12 = Dedicated to VR VM 2, uses one SSD and one NVME passed through.

 

I have isolated the cores for the VMs, and pinned the emulation functions to core 1 and its hyperthread as well.

 

There's a few things I'm wondering.  I have seen people pin IOthreads to the same core as unraid, is this something I should be doing to further isolate the VMs, and if so, how in the world do I do that?

 

I notice that even when both VMs are playing VR simultaneously, Core 1 only uses around 20% cpu, would it be possible to assign the hyperthread of core 1 to VM 1 to use some of that free CPU, or would that interfere with things?  Would it interfere if I isolated the hyperthread?

 

I've had no issue with the GPU's, is there any performance benefit to passing through BIOS's in that case or is that only for compatibility reasons?

 

I am severely crippling vr capability by using dual-channel memory for two gaming vms?  Is the penalty less than running them both effectively on single channel since they won't always be reading ram simultaneously even when both gaming (this is what I hope is the case cause threadripper is expensive)?

 

Finally, am I screwing up VM 2 by pinning the emulation functions to core 1, when that core is on a different CCD?

 

Thank you for any suggestions, and forgive my selfishness for asking this stuff when it's already working great.

Edited by Jeremy Nelson

  • Author

I answered some of my own questions and was disappointed.

 

When both VMs were running simultaneously performance for Shadow of the Tomb Raider dropped between 14-19% compared to if either VM was running alone.  This means there is a penalty for running dual-channel memory, but it's not the equivalent of running one or the other vms alone on single channel (which I think can reach 30%).  This unfortunately means Threadripper is a way to go to not pay that 14-19% penalty but it's just not viable compared to running two separate machines since it costs 3x as much.

 

Second I tried to isolate the hyperthread from the first core, and attached that to one of the VMs, and pinning emulator functions to only the main thread of the first core (to isolate it's hyperthread as much as possible).  In benchmarks there was no benefit to CPU scores and maybe a slight penalty.

 

Still wondering how to isolate IOthreads and whether that's something I should do (maybe it doesn't apply since I'm passing through all the disks?) can't find much info out there.

 

I think i'll stick with my unraid setup even though I have the parts for two separate machines, because it's slightly cheaper for my needs since I do need 12-16 cores in one machine for some tasks anyway, it's fun, and easier to manage one machine.  I'll sell the other computer I have I think.

 

Edited by Jeremy Nelson

Archived

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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.