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.

[6.3.2] Single threaded task performance issues. Assistance requested!

Featured Replies

Hello fellow Unraiders,

 

Long time reader and user, first time posting. I come seeking advice from the community on an issue I am having.

 

Question: Why am I experiencing lag during single threaded tasks(Such as certain video games)?

 

Components:
ASUS Z10PE-D16 WS(Bios Rev: 3403)
2 x Intel Xeon E5-2650 v4
64GB DDR4 ECC RDIMM
NVIDIA GTX 1080 Ti(Started with a GTX 980)
ASUS PIKE II Raid Controller
Intel RES2SV240NC RAID Expander
8 x 1.92TB HPE Read Intensive Enterprise SSD
5 x WD Red 4TB HDD
1 x 4TB Seagate HDD
6 x Mixed Brand 2TB HDD
1 x WD Blue 1TB
**When you look at the diagnostics file you will see some hardware raids configured. Disk 7 is 4 x HPE 1.92TB in Raid 0. Disk 8 is 2 x HPE 1.92TB SSD in Raid 0. The two cache drives are also HPE 1.92TB SSDs.

 

Details:
I built this rig to replace the numerous computer systems that served as my storage/media server/gaming PC in an effort to reduce my monthly power bill and play with something new. It was running smoothly on day 1. When the rig was first assembled it had a GTX 980 in it and everything ran smoothly. For a short while after it had a GTX 1080 and GTX 980 with two separate gaming VMs configured running games flawlessly(This was back in October on Unraid 6.2). 

A few months passed and performance has continued to deteriorate. Fast forward to now and we get to the question, what sparked my frustrations? I recently purchased a GTX 1080 Ti to upgrade from the GTX 980. After swapping the GPU and updating drivers, in most cases, I saw no performance increase. In fact, in some cases I saw a severe performance decrease(Particularly the game 7 Days to Die which happens to be single-threaded). In games like Grand Theft Auto V(Which are multi-threaded), I am able to max out graphics and achieve 40-50 FPS. However, if I lower the graphics, I also achieve 40-50 FPS. It seems that no matter what combination of settings I choose, I am always limited to around this number of frames per second. Switching back to 7 Days to Die, when facing scenery such as water and rolling hills with little to no foliage, I am able to get 100+ frames per second. Want to go for a nice walk through the forest? Frames drop to 20-25 and the whole computer starts studdering. 

 

When the issue first started(Right after I installed the GTX 1080 Ti), here was the configuration of Unraid:


Dockers:

  • CouchPotato
  • Deluge
  • Jackett
  • Netdata
  • NZBGet
  • Ombi
  • Plex
  • PlexPy
  • Sonarr
  • Unifi

 

VM's:

  • GamingDesktop
    • CPU Mode: Passthrough
    • Logical CPU: 0,1,2,3,4,5,6,7,8,9,10,11
    • Initial Memory: 8GB
    • Max Memory: 8GB
    • Machine: i440fx-2.5
    • BIOS: OVMF
    • Graphics Card: NVIDIA Device (02:00.0)
    • Hyper-V: No
    • USB Devices: Mouse(046d:c537), Keyboard(0f39:1084)
    • USB Mode: 2.0
    • OS: Windows 10
  • TCA
    • CPU Mode: Passthrough
    • Logical CPU: 12,13,14,15,16,17,18,19
    • Initial Memory: 32GB
    • Max Memory: 32GB
    • Machine: i440fx-2.5
    • BIOS: OVMF
    • Graphics Card: VNC
    • Hyper-V: Yes
    • USB Devices:
    • USB Mode: 3.0
    • OS: Windows Server 2016

 

I took to the internet and started researching. Through all of my searching efforts, here is a list of things that i've tried(Not in order):

 

CPU Pinning - I pinned all of the dockers to cores 12 through 47. I scaled my VM back to six cores and pinned it to 2-7.
CPU Isolation - I isolated CPUs 2 through 7 and 26 through 31(The HT pairs).
CPU Mode - I have tried both PassThrough and QEMU64.
Machine - I've tried i440fx 2.5 and Q35 2.5, until I upgraded Unraid, then I tried i440fx 2.7 and Q35 2.7. 
CPU Mode and Machine - I tried these in every combination.
Physical vs HT Cores - I tried every combination of Physical vs HyperThreaded cores
Upgraded Unraid - I upgraded to 6.3.2
CPU PCI-E Lanes - I made sure my GPU was in a PCI-E Slot that correlated with CPU0(Which are the cores assigned to VM). I moved the Raid controller to a PCI-E slot used by CPU1.
Temperatures - All my temperatures are well within reason. CPU sits around 45-50. GPU is around 50-80. Hard drives are 28-36. Celcius of course.
CPU Scaling Governor - This is set to Performance
NIC Flow Control and NIC Offload - Tried both at Yes and No
Disk Cache Ratio - These are set to 50 and 80. When I started they were at stock.

 

Here is a chart of the things I tried. The GPU, CPU, Total scores were recorded using PassMark Demo(TimeSpy)

 

 

You'll noticed at line 13 that I moved away from Unraid and tried Windows 10 on Baremetal and saw some interesting results. My in game performance was also fixed, I was able to play all of my games at extremely high frame rates. Throughout tests 13 through 17 I tried to improve my Prime95 score(The P95 column) to see how this would impact my PassMark scores. On line 18, I moved back into Unraid and while my CPU Score is the highest that its ever been, my performance in single threaded applications is still very poor. Keep in mind that P95 is single threaded and PassMark is multi-threaded. What is puzzling to me is that my P95 scores are very very similar between Unraid and Baremetal. However, the result in games is completely different. Even as i'm typing this post, my mouse seems to studder from time to time around the screen. 

 

Attached are my diagnostics from Unraid as the machine sits right now.

bigbitch-diagnostics-20170318-1906.zip

  • Author

Buuumpppp

You should have a look at your pinning and isolation of cores again. Do not use core 0 and the hyperthread core for any vm as this is the one unraid prefers. 

Assign paired cores only to the VM's. The way you have it now, it's a mix. Try also to limit cores to one cpu. 

Use emulatorpin to set which cores qemu use. Have a look at dlandons thread and follow his suggestions. https://forums.lime-technology.com/topic/47345-performance-improvements-in-vms-by-adjusting-cpu-pinning-and-assignment/

 

Don't bother to limit your dockers to cores. As long as you isolate cores they shouldn't use it. 

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.