VMware Communities
LittleDeveloper
Contributor
Contributor

Huge performance drop of VMWare Player guest running on Windows 10 host with active Hyper-V

Hi all,

VMWare Player (and workstation) since version 15.5.5 supports mode where VMware guests and Hyper-V (or WSL2) guests can be run side by side on Windows 10 machine. My working environment is based on guests running on VMware - with reasonable performance, stability and support for accelerated graphics. However from time to time there is a need to run Hyper-V guest. Ability to run VMware and Hyper-V side by side was looking really great.

 

I have installed VMware Player 16 on latest Windows 10 (20H2, I have also tied 20H1) and spent some time working in such environment. Indeed I was able to run VMware guests and Hyper-V (WSL2) guests at the same time. However that possibility came with a huge performance loss of VMware guests (I didn't check or care about Hyper-V guests here). VMware guests became much slower - one could even see some tearing when scrolling windows accompanied by significant CPU load reported by CPU utilization meters. One of my apps has dropped frame rate to 20fps whereas it typically used to average about 60fps. You don't need to have running any Hyper-V guests to observe huge performance loss in VMware guest. It is just Hyper-V hypervisor - if it is active you are done and VMware performance is gone.

 

I have checked scenario where Hyper-V hypervisor not active. I've disabled Hyper-V with command:

 

bcdedit /set {current} hypervisorlaunchtype off

 

and restarted host machine. After restart VMware guest was launched and it was working normally. No performance loss. No tearing, no CPU hogging by simple operations like window content scrolling and the app I'm working on was back at 60 fps.

 

The next step was to activate Hyper-V hypervisor again with command:

 

bcdedit /set {current} hypervisorlaunchtype auto

 

and check again after restart. And performance was bad again.Tearing, high CPU load and performance degradation (e.g. compilation time was at least ~35% slower).

 

My guest system was Windows Server 2012 R2. I've repeated tests on two physical hosts - one was HP ZBook G5 (Intel Xeon) notebook and the other one was was Ryzen 2700X desktop. In both environments the same problem was observed and performance of VMware guest was bad when Hyper-V hypervisor was active. It all went back to normal when Hyper-V hypervisor was disabled.

 

So it looks like there is clearly a performance problem when VMware guest is used with active Hyper-V hypervisor. I don't know what to think about it. Should I consider that fact as a bug or some problem which is going to be fixed soon or perhaps that is the price we have to pay for running VMware and Hyper-V side by side? I hope that latter is not true because performance loss is to big and it would make entire feature entirely useless.

 

Can you provide some tghoughts or answers here? Am I the only one who experiences huge performance loss on Windows 10 host running VMware and Hyper-V together?10

 

PS. I have checked VMware Player 15.5.6. No difference, same problem.

 

Marek.

 

 

9 Replies
bluefirestorm
Champion
Champion

When Hyper-V is enabled on the Windows host, the hypervisor is running at ring 3 while without it, the hypervisor runs at ring 0. So it is expected to be slower as there are additional layers of software (the WHP API and so on) before it gets to the CPU virtualisation features.

https://blogs.vmware.com/workstation/2020/05/vmware-workstation-now-supports-hyper-v-mode.html

With version 16, you will also get a warning about disabling mitigations when the ULM is detected.

To disable mitigations, change the side channel mitigations setting in the advanced panel of the virtual machine settings. Refer to VMware KB article 79832 at https://kb.vmware.com/s/article/79832 for more details.

The advanced options mentioned in KB79832 is not available in Workstation Player. You can add the following line to the vmx

ulm.disableMitigations="TRUE"

If Hyper-V guest VM performance is not important, perhaps you can stick to using the ring 0 VMM but run Hyper-V inside another VM.

0 Kudos
MikDima
Contributor
Contributor

Hello,

the problem is still on, the only way to solve it was enabling/disabling Hyper-V with bcdedit and then rebooting the machine. Some VMs are totally unusable while Hyper-V is enabled. 

Probably the issue is more related to the Operative System than VMWare itself, anyway a solution would be very appreciated. 

I hope to see one soon. 

Thanks,
   Michele

TomasCZ
Contributor
Contributor

Unfortunately, this is the case.
I use Hyper-V primarily and I need one instance in WMVare to run concurrently and the performance is absolutely catastrophic.
 
It's a shame. But it's probably a system limitation.
bshirley
Contributor
Contributor

It is absurd and makes using WSL2 concurrently impractical/impossible, so I have to stick with WS. Disabling the mitigations doesn't help performance at all. Unfortunately I need both, considering Virtualbox

0 Kudos
Casket
Contributor
Contributor

The issue is 2 years old. Is there any solution/workaround? Any plans to fix it?

el4
Contributor
Contributor

hi
any workaround ?

0 Kudos
RoSky
Contributor
Contributor

Hello,

I'm on VMWARE workstation 17 (last version) and I still encounter the problem. Do you know if there is a solution?

Thanks very much !

0 Kudos
femski
Contributor
Contributor

This problem will not be fixed until users file a class action lawsuit against vmware - for selling a crippled product with glaring defect at full price. For years.

I use MacOS Guest and performance is abysmal with or without hyper-V (after fiddling with many registry setting etc). (don't tell me MacOS Guests are not supported - this whole VmWare thing is a massive hack)

Since my Ubuntu on same hardware does run VMWare Workstation just fine, I tried to run VMWare inside WSL2 - after a few changes it even brings up Apple Boot logo - but in the end hangs. May be best path forward is to get VmWare Workstaion to work inside WSL2 and forget Windows itself.

If VMWare doesn't want to rewrite Workstation t work with hyper-v, fine - take your product off the market. Do not keep misleading us that it works somehow with this or that setting. It does not.

 

 

 

0 Kudos
Technogeezer
Immortal
Immortal


@femski wrote:

This problem will not be fixed until users file a class action lawsuit against vmware - for selling a crippled product with glaring defect at full price. For years.

I use MacOS Guest and performance is abysmal with or without hyper-V (after fiddling with many registry setting etc). (don't tell me MacOS Guests are not supported - this whole VmWare thing is a massive hack)


I will agree with you that VMware has ignored performance issues with Workstation on Alder Lake CPUs when using Hyper-V as the hypervisor. There are user-generated workarounds with either disabling Hyper-V or manipulating power settings, but VMware has been silent on the issues. That’s absurd.

But (and I know you said that you don’t want to hear this) with respect to macOS on Workstation, VMware is not selling a “crippled product”. VMware makes no statement that it supports the use of macOS guests on Workstation. You will not find it in its compatibility lists. If you find a problem with it, then you’re on your own.

To run a macOS guest on Workstation, you had to hack Workstation.  VMware is going to turn a deaf ear since you made an unauthorized modification to their software to run something they don’t support. 

Also note that Apple does not permit running macOS on non-Apple hardware. VMware as a large commercial software provider does not encourage the circumvention of vendor software licensing. It would be subject to Apple’s legal wrath if it included features that encouraged the use of macOS outside of Apple’s licensing.

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos