FreeNAS 11 Windows VM single processor

Status
Not open for further replies.

Sonny Williams

Dabbler
Joined
Oct 19, 2015
Messages
35
I have seen a couple of threads on this but no resolution. When I create a VM through the GUI, I can add CPU's to it and they show up in the linux machine. When I do any version of Windows, it only gives me 1 cpu. I have seen threads that say it has more, but is displaying it wrong, but this is not correct. I can adjust the number of CPUs down to 1 and it performs the same, which is like crap. 1 CPU is just not enough to do anything more than 1 task.

Is there a solution to this?
 

Sonny Williams

Dabbler
Joined
Oct 19, 2015
Messages
35
That thread is for people who already appear to have multiple cores in their OS. Mine only shows 1. Do you believe this thread is relevant to mine? The Windows 10 VM that I am running shows 1 CPU and 1 Core and it's slow as junk! I have deleted and recreated it and it still only has 1 CPU. As I said, my linux boxes don't seem to have this issue.
 
Last edited:

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
What is your CPU?
 

amiskell

Patron
Joined
Jun 25, 2015
Messages
266
That thread is for people who already appear to have multiple cores in their OS. Mine only shows 1. Do you believe this thread is relevant to mine? The Windows 10 VM that I am running shows 1 CPU and 1 Core and it's slow as junk! I have deleted and recreated it and it still only has 1 CPU. As I said, my linux boxes don't seem to have this issue.

Could be your CPU. If your CPU doesn't support the correct features, you'll be restricted to a single CPU for the VM.
 

Sonny Williams

Dabbler
Joined
Oct 19, 2015
Messages
35
Well, I am happy to provide my specs, but why would it only affect Windows machines and not any of my other VMs?

Processor: Intel Xeon E5-1650 v2 Ivy Bridge Hexa-core 3.5 GHz
Motherboard: Intel x79 motherboard
Memory: 32GB
VMs: 1 Ubuntu 17, 1 CentOS 7, and 1 Windows 10

The Linux machines have no issues showing all of the virtual CPUs. The Windows machine is the only one that won't accept more than 1 CPU. Inside the Device Manager, there are no missing drivers, and the Windows Updates are up to date.
 

amiskell

Patron
Joined
Jun 25, 2015
Messages
266
Well, I am happy to provide my specs, but why would it only affect Windows machines and not any of my other VMs?

Processor: Intel Xeon E5-1650 v2 Ivy Bridge Hexa-core 3.5 GHz
Motherboard: Intel x79 motherboard
Memory: 32GB
VMs: 1 Ubuntu 17, 1 CentOS 7, and 1 Windows 10

The Linux machines have no issues showing all of the virtual CPUs. The Windows machine is the only one that won't accept more than 1 CPU. Inside the Device Manager, there are no missing drivers, and the Windows Updates are up to date.

What edition of windows 10?
 

Sonny Williams

Dabbler
Joined
Oct 19, 2015
Messages
35
I think you solved it there for me amiskell. I was using a copy of Windows 10 Home that I had extra. I found a copy of Windows 10 Pro that I hadn't used yet and installed it and it now shows 2 CPU with 2 cores each. Thanks to everyone who helped out!
 

amiskell

Patron
Joined
Jun 25, 2015
Messages
266
I think you solved it there for me amiskell. I was using a copy of Windows 10 Home that I had extra. I found a copy of Windows 10 Pro that I hadn't used yet and installed it and it now shows 2 CPU with 2 cores each. Thanks to everyone who helped out!

It could have technically worked with 10 Home as well.

BHyve by default exposes each CPU as its own socket with a single core. You can change the tuneables mentioned the the posts above to change that topology so bhyve will expose each vCPU as a single socket with multiple cores.

10 Home is limited to a single socket, while 10 Pro can support 2 sockets. Each supports like 256 cores per socket.
 

Sonny Williams

Dabbler
Joined
Oct 19, 2015
Messages
35
Nice! I only need 2 sockets, so 10pro is working well for me. I am glad to know that I can use the tunables to create extra cores for each socket. That will certainly come in handy later, and I hope this thread can help others that run into this.

Being a linux noob, I am always happy and appreciative for the help from forums.
 

Sonny Williams

Dabbler
Joined
Oct 19, 2015
Messages
35
I wanted to figure this out so that I knew for future reference. It was pretty easy to do. Under System > Tunables, I added in the Variable to hw.vmm.topology.cores_per_package, the Value to 4, and the Type to Loader. I then rebooted my Freenas server. Now, all of my VM's will load up to 4 of the "Cores" that I add to them as "Virtual Processors" before adding any more "Sockets". Hopefully that helps others (or myself when I inevitably forget someday) to make it through this without a struggle.

I didn't mess with the hw.vmm.topology.threads_per_core Variable because I don't need hyperthreading inside my VMs so I am happy with the default value of 1 for this.
 
Status
Not open for further replies.
Top