VMware Cloud Community
virtualfish321
Contributor
Contributor
Jump to solution

Adding multiple core support to guest

I have an existing windows 7 x64 enterprise guest that I'd like to add more CPU cores to.  I've followed the document from http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=101018... and set the amount of cores to 2.  Right now I have a single vcpu, so I would expect to see two graphs in task manager, but I don't.  I only have one.  Also, device manager shows one cpu, and when I run wmic > cpu, I confirm that NumberOfCores is 1.

I've triple checked to make sure that I've spelled cpuid.coresPerSocket is spelled correctly and everything else.  Any idea why is seems these extra cores won't enable in the guest OS?

ESX 4.1.0 502767

Windows 7 Enterprise x64 SP1

(also tried on Windows XP Pro SP3)

Thanks!

0 Kudos
1 Solution

Accepted Solutions
a_p_
Leadership
Leadership
Jump to solution

The number of vCPUs you configure is the total number of cores in the VM.

Example: If you want to configure a VM with two dual-core CPUs, set the number of vCPUs to 4 and CoresPerSocket to 2. CoresPerSocket only devides the configured vCPUs in order to present them as multi-core vCPUs to the guests.

André

View solution in original post

0 Kudos
7 Replies
peterdabr
Hot Shot
Hot Shot
Jump to solution

Hi,

Can you confirm OS has multiprocessor HAL?

If you go to 'Device Manager', how many cores can you see under 'Processor' branch?

Thanks,

Peter D.

0 Kudos
virtualfish321
Contributor
Contributor
Jump to solution

That all depends.  When I add another vcpu, I'll see multiple processors in device manager.  I've tried setting 2 vcpus with 2 cores each in the advanced settings, which one would think you'd see 4 processors in device manager and/or 4 graphs in task manager.  Also, in wmic / cpu, I would think that it would report the total number of cores (4), but it doesn't.  Only reports 2.

So my thought is that windows just isn't picking up the changes to the vmx file, I think.

Thanks!

0 Kudos
virtualfish321
Contributor
Contributor
Jump to solution

So, after spending and hour and a half on the phone with vmware support, they finally came back and said that the cores you enable per socket in this setting would not be visible to the guest OS like they would be on a physical host.  Anyone familiar with this?  I'm not exactly convinced, and since the first support guy seemed to be fumbling around for so long without coming up with this makes me think that they didn't have an answer as to why this was happening, so they just said, "yeah, they're there, trust me.  The OS just won't see them"

I'm not convinced...

0 Kudos
a_p_
Leadership
Leadership
Jump to solution

The number of vCPUs you configure is the total number of cores in the VM.

Example: If you want to configure a VM with two dual-core CPUs, set the number of vCPUs to 4 and CoresPerSocket to 2. CoresPerSocket only devides the configured vCPUs in order to present them as multi-core vCPUs to the guests.

André

0 Kudos
virtualfish321
Contributor
Contributor
Jump to solution

Thanks for your reply.  So, if I understand this right, this is more of a division thing instead of a multiplication thing like what we're used to on a physical machine.  So, if I wanted 2 quad core processors in a vm, I would give it 8 vcpu's and set the coresPerSocket to 4?  If I wanted 4 dual core processors, i would have 8 vcpu's and coresPerSocket set to 2?

If that's correct, I think I'm getting it now.

but, one question I have is, if I want to do like your example above, and make two dual core cpu's in an OS like windows XP pro that only supports 2 CPU's that won't work.  Task manager only shows two CPU's.  XP only supports two CPUs, but will support multiple cores, so that's a way around the CPU limit.  But, it sounds like when it's a vm, I can't get around that limit...

Thanks!

0 Kudos
a_p_
Leadership
Leadership
Jump to solution

So, if I wanted 2 quad core processors in a vm, I would give it 8 vcpu's  and set the coresPerSocket to 4?  If I wanted 4 dual core processors, i  would have 8 vcpu's and coresPerSocket set to 2?

Bingo!

... and make two dual core cpu's in an OS like windows XP pro that only supports 2 CPU's that won't work.

Did you try it? Actually this should work (I didn't try it myself yet).

André

0 Kudos
virtualfish321
Contributor
Contributor
Jump to solution

huh, i take that back.  I think this whole time I just wasn't getting the right combination of vcpu and coresPerSocket.  Now that I've set the vcpu's to 4 and cores to 2, XP is showing four CPUs.  I know it's seeing cores now too, because XP technically only supports 2 CPUs.  Thanks for finally explaining that to me.  I kind of wish vmware support would've known how this works, so I didn't have to waste an hour and a half with them.

Thanks

0 Kudos