bhyve Idle Windows 11 bhyve guests high CPU usage

I am in the process of moving off of Proxmox and into FreeBSD 14.1 / bhyve for my home vm server. (Using vm-bhyve)
I have noticed that Windows 11 guests seem to use considerably more cpu resources at idle than my Linux, Windows 10, and Windows Server 2022 VMs.

I have 1 migrated W11 VM, and 1 Fresh Install. Acording to btop they average 50 to 100% cpu resources. From within the Guest Task manager shows only 5% CPU usage or so...

The VM server is a 11th Gen Intel I5 11700K (12 core System)

The Linux Server, Win 10, and Win Server 2022 are fresh Installs as well, and average 2 to 5% cpu at idle.

Has anyone else seen this before. I have tried googling, and searching the forum, but could not find any related content...

Here are the config files for the 2 win 11, and the win 10 guests.

Migrated Win 11 guest
Code:
root@bhyve-prod:/vm-tank/vm # cat W11-Work/W11-Work.conf

loader="uefi"
graphics="yes"
xhci_mouse="yes"

cpu=6
cpu_sockets=1
cpu_cores=6
cpu_threads=1

memory=16G

graphics_res="1600x900"

ahci_device_limit="8"

network0_type="virtio-net"
network0_switch="public"

disk0_type="nvme"
disk0_name="disk0.raw"

utctime="no"
uuid="eb21588f-49c3-11ef-ad46-b04f130cce6d"
network0_mac="06:39:2D:11:D9:AD"

Fresh Win 11 Guest
Code:
root@bhyve-prod:/vm-tank/vm # cat levon-work/levon-work.conf 

loader="uefi"
graphics="yes"
xhci_mouse="yes"


cpu=4
cpu_sockets=1
cpu_cores=4
cpu_threads=1

memory=8G

ahci_device_limit="8"

network0_type="virtio-net"
network0_switch="public"

disk0_type="nvme"
disk0_name="disk0.img"

disk1_type="ahci-cd"
disk1_dev="custom"
disk1_name="/vm-tank/vm/.iso/virtio-win-0.1.248.iso"


utctime="no"

uuid="9f9c78b4-4e2f-11ef-87a9-b04f130cce6d"
network0_mac="58:9c:fc:0c:c2:fc"

Fresh Win 10 Guest
Code:
root@bhyve-prod:/vm-tank/vm # cat win10/win10.conf
 
loader="uefi"
graphics="yes"
xhci_mouse="yes"

graphics_wait="yes"

cpu=6
cpu_sockets=1
cpu_cores=6
cpu_threads=1

memory=8G

ahci_device_limit="8"

#network0_type="e1000"
network0_type="virtio-net"
network0_switch="public"

disk0_type="ahci-hd"
disk0_name="disk0.img"

disk10_type="nvme"
disk10_name="disk1.img"

utctime="no"
uuid="56ddce24-4e28-11ef-87a9-b04f130cce6d"
network0_mac="58:9c:fc:0f:3f:e9"

Thanks!
 

Attachments

  • bhyve-Win11.png
    bhyve-Win11.png
    504 KB · Views: 320
  • Like
Reactions: drr
On a separate test system at my office (FBSD 14.1, and BVCP latest) The win11 VM is still using on average 18 to 20 % cpu...
Better than the other system, but still much higher than the Win10, WinSvr 2022, or Linux Machines...

1722555406002.png

1722555419517.png
 
我也有同样的问题,win10/server2022都正常,win11/server2025就非常卡顿,CPU占用高,同样找不到答案,你是我找到唯一说到这个问题的。
而且我使用的是FreeBSD13.3(truenas13.3),我开始还期望着升级到14.1会正常,但看到你14.1依然这个问题,绝望。
无法解决我可能会考虑pve+lxc。


I have the same problem. Win10/server2022 are normal, but Win11/server2025 is very slow and the CPU usage is high. I can't find the answer either. You are the only one I found who talked about this problem.
And I am using FreeBSD13.3 (truenas13.3). I initially expected that upgrading to 14.1 would work, but seeing that you still have this problem with 14.1, I feel desperate.
If I can't solve it, I might consider pve+lxc.
 
I'm noticing some pretty interesting behavior with Windows 11 VM's in Bhyve myself. I'm not really seeing crazy CPU usage, but it is running VERY sluggishly. Originally, I had 4 vCPU's and 8GB RAM (like I do with most other WIndows VM's) and it was so slow it was unusable. So, I threw 8 vCPU's and 16GB RAM at it and it did improve the responsiveness, but it is still very slow. I also changed to "GOOD" quality settings instead of "BEST" which disabled some things like the BG image to improve speed a little. And also disabled all the visual effects I could find in Windows 11. This also helped but not enough to have a usable VM (connecting via RDP with Remmina.)

On a side note, all previous versions of Windows run very well for me in Bhyve. So, I'm guessing this is something that needs to be addressed upstream as the VM configuration, host resources and network don't appear to be the problem.
 
I am having the same issue with windows 11 vm on bhyve; the vm uses around 15-20% cpu continuously on idle. As others have pointed out, this seems to be specific to the windows 11 vm, my linux vm doesn't do this.

I am running the vms with vm-bhyve, on FreeBSD 14.3-RELEASE-p1. I am planning to install a windows 10 vm to check if this behavior is seen there.
 
I am having the same issue with windows 11 vm on bhyve; the vm uses around 15-20% cpu continuously on idle. As others have pointed out, this seems to be specific to the windows 11 vm, my linux vm doesn't do this.

I am running the vms with vm-bhyve, on FreeBSD 14.3-RELEASE-p1. I am planning to install a windows 10 vm to check if this behavior is seen there.
I was able to fix my Windows 11 bhyve VM's by simply getting specific with the "cpu*" configuration options. Apparently, Windows tosses a fit if there are multiple sockets (Ex: just setting "cpu=2" will emulate 2x 1-core sockets). So, if I wanted 4 cores for my Windows 11 VM, I would use:

Code:
cpu=4
cpu_sockets=1
cpu_cores=2
cpu_threads=2

If I want 8 cores, I use:

Code:
cpu=8
cpu_sockets=1
cpu_cores=4
cpu_threads=2

... and so on. Keep in mind that the "cpu" count *MUST* be equal to cpu_sockets * cpu_cores * cpu_threads (1*4*2 = 8).

In the end, limiting Windows 11 to a single socket and adjusting cores and threads seems to have it running perfectly fine. I hope that helps!
 
Thanks ek . However, I already have this cpu configuration in my windows 11 vm and still having the issue.

I installed a windows 10 vm yesterday and it works fine; cpu usage during idle is minimal as expected. I will stick with the windows 10 vm for now, till its retired.
 
Hi, drr.
Thanks ek . However, I already have this cpu configuration in my windows 11 vm and still having the issue.

I installed a windows 10 vm yesterday and it works fine; cpu usage during idle is minimal as expected. I will stick with the windows 10 vm for now, till its retired.
I'm sorry. I must have somehow misinterpreted your post somehow and thought you were talking about the VM performance itself and not the CPU resource consumption. I am still having the same issues as you (and many others on this thread) are. Win11 VM's in bhyve seem to utilize ~25% of whatever CPU resources I throw at them. Still unsure why but definitely still seeing the same behavior.

As you'd mentioned, Win10 and prior do not appear to do this at all. In fact, they all appear to idle quite low just like another non-Win11 VM I deploy.
 
  • Thanks
Reactions: drr
Windows is chatty, and 11 is more so.
There is a powershell script that strips out the bloat. Keep a copy of your vm in case you don’t like the result.
 
  • Like
Reactions: drr
Windows is chatty, and 11 is more so.
There is a powershell script that strips out the bloat. Keep a copy of your vm in case you don’t like the result.
If that's the same one I'd used ("Win11DeBloat", maybe?) it did help a little bit, but not very noticeable. Win11 VM's still run at ~250-300% CPU while Win10 VM's run at ~10-20% CPU. It's a pretty vast difference.
 
  • Like
Reactions: drr
Mine was for Win10, as have absolutely less than zero interest in Win11.
I'm a Powershell coder, so I cleaned up the Win10 script a bit.

One of the caveats: it screws up the Windows Store and Calculator.
I don't care enough (at all) to fix the code, so I just don't use it anymore.
I do manual uninstalls of the fluff and bundle-ware, then save the VM image as a ghost file.

The windows task manager will show you which component is getting the most cpu time.
The performance manager will show you which is banging the storage the most.
 
I certainly can't disagree with you on the interest in Win11. Unfortunately, it's needed by some people for minimal tasks so I'd like it to run smoothly for them.

Looking through the tasks and performance, nothing really stands out (aside from the "Antimalware" service kicking in here and there). The task manager appears to be using more resources than anything else. So, I would think that when it gets closed out, resources would die down but they don't. Just a nice, steady 2-3 cores pegged at all times. Perhaps Windows does this on purpose to try to limit VM usage in hopes everyone will just settle for heavy metal instead.
 
  • Like
Reactions: drr
I was on Windows 7 profession since it was released.
The ONLY reason I moved to Win10 is because Turbo Tax, Quickbooks, and most browsers refuse to run on Win7.

Many banks, including mine do a version check for the browser.
If am a level or two down from current, they refuse to connect to the bank.
 
Hi all,

I have also noted this problem (higher idle cpu usage on WIndows 11. It came after a windows update. I have one guest running WIndows 11 Pro 21H2 (4 virtual cores) and it idles at up to 6% on the host.
I have others on the same Host machine which updated and are currently on 24H2. These idle at 15%.

One thing I have noticed is a higher rate of VCSW (voluntary context switching) as shown on /usr/bin/top (then M key).
Approx 1700 vs 15000.

These context switches are directly correlated with the number of virtual cores on the guest.

Also the rate of interrupts on the guest sits at 0% cpu on the 21H2 and between 1-2% on 24H2. Again both at idle.

I have tried to get info on the interrupts on the guests, but nothing seems to stand out. I periodically try to figure this one out.

Hope this is helpfull.
 
Win11 is best installed as bare-bones using an autounattend.xml file as input to WinPE on the installation media.

This web site allows you to turn off all the junk, bloat and TPM requirements.
Under VMware, a VM will provide both UEFI and TPM 2.0 interfaces.

This can be done either under VMware Workstation or ESXi.
I don't know if the FBSD VM system provides this or not.
TPM can be bypassed, but Win11 requires a UEFI boot interface.
 
  • Thanks
Reactions: drr
Back
Top