Jump to content

Profiling Windows VM Performance and Bottlenecks


hova
Go to solution Solved by JonathanM,

Recommended Posts

Hello unRAID community!

 

How do you profile VM performance and stutters?

I’m not looking to have my specific problem solved, but rather learn how to profile performance and identify bottlenecks. I have only narrowed down the bottleneck as far as not the GPU.

 

System Specs

unRAID 6.11.5

Hardware

VM config

Windows 10 VM (<2 month old install, but daily driving for 2 years)

5 cores, 4 are isolated for the VM

21.5GB VM RAM

VM uses the NVMe (separate cache pool). The VM image is the only file on the disk

22.11.2 AMD driver - no BIOS provided in VM config

 

I don’t feel like real-world performance matches my expectations, despite synthetic benchmarks telling me performance is good. The scenarios making me think this are:

 

1. iRacing performance is 20-30% better with Windows 10 bare metal on this system. Both VM and bare metal showed similar <50% GPU utilization. iRacing’s metrics and Windows task manager usage point to a CPU bottleneck. iRacing is mostly single-threaded, but using only the 4 isolated cores didn’t improve VM performance either.

    - (Also, hello to the very small intersection of unRAID and iRacing people!)

2. Hardware glitches… almost like a “bad interrupt”. 

    - If I plug in a monitor or change the display scaling in Windows, the VM is unresponsive to KB/mouse input for 15-30s. (Not sure if this repros on bare metal)

    - Sometimes “task switching” is incredibly slow, like 10s for the Start Menu to appear after pressing the Windows key.

    - Stuttering in-game sound or frames while the games report ~60FPS. (Not subtle frame tearing, rather a half-second pause or sound loop).

3. Idle performance of the server is low and disabling all other VMs and Dockers doesn’t improve my Windows VM experience.

 

I’m looking to understand whether this is a CPU/disk/RAM/CPU caching bottleneck.

 

Thanks in advance!

Link to comment

Thanks! Using only the last 4 cores for the VM, leaving the first two for the host has helped!

But how could I have learned this? Previously, the first two cores (first for unRAID, second shared with VM) didn't continually sit at 100% utilization. I also saw no smoking guns when looking at top.

Edited by hova
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.

×
×
  • Create New...