FreeNAS 11.2 Win 10 VM slow performance and near 100% CPU usage

co0kiemon5t3r

Dabbler
Joined
Sep 14, 2018
Messages
10
Hi All

I am running:
FreeNAS-11.2-U4.1
E3-1230 V2 (4 core 8 thread)
2 x 8GB DDR3 ECC RAM
PCIe SSD for VM zvol

VM:
Win 10
2vCPU
4GB RAM

Fresh install of Win 10 (latest build, ISO created with Windows media creation tool)
Saw that there were issues with e1000 LAN adapter, so switched to VirtIO, installed the virtio-win-0.1.171-1 driver for the NIC and it is now not pinned at 100% at all times, but any basic task will spike CPU to 100%, through VNC or RDP.

As Bhyve allocates sockets, I cant go above 2 sockets (cores in this case) on the VM, so throwing more power it doesn't seem to be an option.

I would expect 2 cores running @3.3 GHz to be able to handle opening Chrome without locking the system and spiking to 100% for the duration it is open in the new tab page though.
Some other activities to put into the perspective of how slow this thing is running:

Opening File Explore takes ~20 seconds, doesn't touch the disk at all but spikes CPU to 100%, locks the system and then use 5% CPU just sitting on the This PC screen.
Switching tabs in Task manager also spikes it to 100%.
Right now it sits on the desktop, with nothing running apart from task manager. Task manager is using 15% of the CPU, just displaying itself...

The CPU usage reported on the FreeNAS side (bhyve in top) is accurate, ranging from 0-25% on the Host machine

I haven't ran driver booster or looked for any CPU drivers atm, in my experience Win10 has been good at getting the drivers it needs (and it should have done, as I installed the OS with e1000 (so it had networking) for upgrade)




Any ideas/help would be greatly appreciated!!!


Kind Regards,
Chris
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
You might find the problem is related to RAM somehow... 4GB really isn't enough for Win10. 8GB is OK, 6GB minimum if you can't make it to 8 from your installed 16... your hardware is under-powered for this use case.

The VirtIO NIC is key for Win10 to not crash.
 

co0kiemon5t3r

Dabbler
Joined
Sep 14, 2018
Messages
10
You might find the problem is related to RAM somehow... 4GB really isn't enough for Win10. 8GB is OK, 6GB minimum if you can't make it to 8 from your installed 16... your hardware is under-powered for this use case.

The VirtIO NIC is key for Win10 to not crash.

So I did a couple of things, set the flags to allow for more cores per socket in bhyve, went all the way to 8, and saw a little improvement but it still soft locks and spikes CPU like no other VM I've seen.
Don't think RAM is an issue here, as the VM never goes above 60% utilization, much less 90%+ that I would need for OS locks. Tried upping it to 8GB but the same performance
Dropped the screen resolution in RDP but no effect

Maybe freeNAS VMs are really really bad at utilizing CPU and it is just crazy inefficient?

As a point of reference, I have used proxmox on the same system, same 2 core 4GB RAM Win10 VM and it ran perfectly smoothly
 

co0kiemon5t3r

Dabbler
Joined
Sep 14, 2018
Messages
10
An interesting point I have found is that about 60% of the time, after it has locked up then resumes, task manager shows 100% CPU on System Interrupts

Another node, the underlying Host is super quiet, no IO or anything else at the moment
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
I run a Win 10 VM with no problems, so it's not a FreeNAS or bhyve thing with Windows 10. Something isn't right with your setup.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
There had been a problem with the VNC device causing 100% CPU... try removing it if you have one and see if that helps... remember to enable RDP connections first.
 

co0kiemon5t3r

Dabbler
Joined
Sep 14, 2018
Messages
10
There had been a problem with the VNC device causing 100% CPU... try removing it if you have one and see if that helps... remember to enable RDP connections first.

Tried this, I think it helped a little, the system is just bearable now, just still not used to waiting for 10 seconds to switch tabs in Task Manager....

Is it worth exploring if my CPU is dying somehow? Not sure which CPU benchmarks I can do on the Host to compare/check performance.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702

tholle

Cadet
Joined
Apr 14, 2019
Messages
5
Hi All

I am running:
FreeNAS-11.2-U4.1
E3-1230 V2 (4 core 8 thread)
2 x 8GB DDR3 ECC RAM
PCIe SSD for VM zvol

VM:
Win 10
2vCPU
4GB RAM

Fresh install of Win 10 (latest build, ISO created with Windows media creation tool)
Saw that there were issues with e1000 LAN adapter, so switched to VirtIO, installed the virtio-win-0.1.171-1 driver for the NIC and it is now not pinned at 100% at all times, but any basic task will spike CPU to 100%, through VNC or RDP.

As Bhyve allocates sockets, I can't go above 2 sockets (cores in this case) on the VM, so throwing more power it doesn't seem to be an option.

I would expect 2 cores running @3.3 GHz to be able to handle opening Chrome without locking the system and spiking to 100% for the duration it is open in the new tab page though.
Some other activities to put into the perspective of how slow this thing is running:

Opening File Explore takes ~20 seconds, doesn't touch the disk at all but spikes CPU to 100%, locks the system and then use 5% CPU just sitting on the This PC screen.
Switching tabs in Task manager also spikes it to 100%.
Right now it sits on the desktop, with nothing running apart from task manager. Task manager is using 15% of the CPU, just displaying itself...

The CPU usage reported on the FreeNAS side (bhyve in top) is accurate, ranging from 0-25% on the Host machine

I haven't ran driver booster or looked for any CPU drivers atm, in my experience Win10 has been good at getting the drivers it needs (and it should have done, as I installed the OS with e1000 (so it had networking) for upgrade)




Any ideas/help would be greatly appreciated!!!


Kind Regards,
Chris


I can confirm the described issues. I have exactly the same problems.
I have 16GB RAM (8GB allocated to WIN10) i7 CPU and SSD for ZVOL.
The Guest (WIN10) is nearly not useable with bhyve and RDP-Connection to the guest. It's frustrating.

Have testet the Windows-Timer-Tweak, with a little improvement but far away from useable or good.

Greetings,
tholle
 

co0kiemon5t3r

Dabbler
Joined
Sep 14, 2018
Messages
10
I can confirm the described issues. I have exactly the same problems.
I have 16GB RAM (8GB allocated to WIN10) i7 CPU and SSD for ZVOL.
The Guest (WIN10) is nearly not useable with bhyve and RDP-Connection to the guest. It's frustrating.

Have testet the Windows-Timer-Tweak, with a little improvement but far away from useable or good.

Greetings,
tholle

Thats really interesting, what gen i7 are you using? Also on version 11.2-U4.1?

You did the NIC and removed VNC?

Maybe it is something with Bhyve then, my config is pretty standard.
If it is reproducable on the same version across different but similarly powered hardware (which is adequete) maybe we could get more answers from IX team
 

tholle

Cadet
Joined
Apr 14, 2019
Messages
5
Thats really interesting, what gen i7 are you using? Also on version 11.2-U4.1?

You did the NIC and removed VNC?

Maybe it is something with Bhyve then, my config is pretty standard.
If it is reproducable on the same version across different but similarly powered hardware (which is adequete) maybe we could get more answers from IX team

I'm on 11.2-STABLE. The CPU is i7-3770.
What do you mean with NIC and VNC removed? The NIC do i need for RDB-Connection. The NIC runs with the fedorapeople-virtio. VNC i don't use and have removed this device.

regards,
tholle
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
What do you mean with NIC and VNC removed?
I think it means removed the VNC device and made the changes to use the VirtIO Driver for the NIC.
 

tholle

Cadet
Joined
Apr 14, 2019
Messages
5
I think it means removed the VNC device and made the changes to use the VirtIO Driver for the NIC.

I've tried the VirtIO Driver. Same effect. I think, the root cause is the (virtual)GPU. When i run an app (loxone config) the System is nearly unuseable.
On the same Hardware i had formerly Ubuntu-Linux with a Windows 10 guest in Oracles VirtualBox. No problem with the app. All good, all runs fluent. But with bhyve not.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
Anything to do with access to a graphics card isn't going to end well until we get FreeBSD 12.

My Win10 VM runs just fine for non-graphical workloads.
 

Supergrobi

Dabbler
Joined
Mar 24, 2019
Messages
25
Same problem here, Windows 10 or Windows Server 2016 almost unusable. Linux Mint runs fine. I have already tried the virtio nic driver
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
When you say you tried the VirtIO driver, did you just pick it instead of the e1000? Or did you get the fedora driver package and install that too?
 

Supergrobi

Dabbler
Joined
Mar 24, 2019
Messages
25
I picked virtio in the vm config and installed the driver package in Windows
 

Frikkn

Cadet
Joined
Nov 12, 2018
Messages
6
I've had the same issue for pretty much ever. It's to do with how it handles disk IO. The task manager in the windows VM will report very high latencies for any task, even on SSDs.
 

Supergrobi

Dabbler
Joined
Mar 24, 2019
Messages
25
Hmm, maybe this is related to the disk device type. My Linux VM has a VirtIO Disk and it runs quite good. The Windows VM has a AHCI disk, maybe that is the cause?
 
Top