VMware Cloud Community
dhedges
Contributor
Contributor
Jump to solution

processor cores in vm's

Hi,

Running windows 2003 standard 64 bit vm's and trying to get them to use multiple processor cores instead of multiple vcpus.

As a test I gave the image 4 x vcpu and it correctly shows 4 cpu graphs in task manager and 4 cpus in device manager.

I also tried setting the cpuid.coresPerSocket using different values (2, 4 etc..) but that didn't increase the amount of graphs or processors indicated.

I dropped it back down to 1 and 2 vcpu and tried the cores per socket again yet still no additional processor graphs.

Is there anything else I should be doing as the plan is to get 4 cores for a sql database instead of having to use multiple vcpu for licensing reasons.

Reply
0 Kudos
1 Solution

Accepted Solutions
AWo
Immortal
Immortal
Jump to solution

Running windows 2003 standard 64 bit vm's and trying to get them to use multiple processor cores instead of multiple vcpus.

The physical representation of a vCPU is a core.

As a test I gave the image 4 x vcpu and it correctly shows 4 cpu graphs in task manager and 4 cpus in device manager.

I also tried setting the cpuid.coresPerSocket using different values (2, 4 etc..) but that didn't increase the amount of graphs or processors indicated.

That is correct, as you didn't increase the number of vCPU'. Example: if you have a host with 4 dual-core (8 cores) CPU's and run Windows 2003 SE on it, a physical Windows get's reported that there are 4 CPU's with 2 cores each. Even that Windows 2003 SE is limited to 4 CPU's it would still run on all 8 cores.

In a virtual machine it gets reported what you have assigned. Let's assume 4 vCPU's. So Windows thinks it runs on 4 CPU's with one(!) core. So on the physical box it will occupy a maximum of 4 cores (out of 8).

To change that and to let the guest run on all 2 cores of 4 CPU's you must assign 8 vCPU's to the guest and set the parameter to 2. Then Windows will run on 8 cores as it sees 4 CPU's with 2 cores each. And Windows 2003 SE is limited by CPU's not cores.

Read this: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=101018...


AWo

VCP 3 & 4

\[:o]===\[o:]

=Would you like to have this posting as a ringtone on your cell phone?=

=Send "Posting" to 911 for only $999999,99!=

vExpert 2009/10/11 [:o]===[o:] [: ]o=o[ :] = Save forests! rent firewood! =

View solution in original post

Reply
0 Kudos
3 Replies
AntonVZhbankov
Immortal
Immortal
Jump to solution

>I also tried setting the cpuid.coresPerSocket using different values (2, 4 etc..) but that didn't increase the amount of graphs or processors indicated.

This setting only changes HOW VM see vCPUs, and don't change vCPU number.

4 vCPU VM with cpuid.coresPerSocket = 2 will 2 dual-core processors, for example. If you want more total cores - increase vCPU number to 8.


---

MCITP: SA+VA, VCP 3/4, VMware vExpert

http://blog.vadmin.ru

EMCCAe, HPE ASE, MCITP: SA+VA, VCP 3/4/5, VMware vExpert XO (14 stars)
VMUG Russia Leader
http://t.me/beerpanda
AWo
Immortal
Immortal
Jump to solution

Running windows 2003 standard 64 bit vm's and trying to get them to use multiple processor cores instead of multiple vcpus.

The physical representation of a vCPU is a core.

As a test I gave the image 4 x vcpu and it correctly shows 4 cpu graphs in task manager and 4 cpus in device manager.

I also tried setting the cpuid.coresPerSocket using different values (2, 4 etc..) but that didn't increase the amount of graphs or processors indicated.

That is correct, as you didn't increase the number of vCPU'. Example: if you have a host with 4 dual-core (8 cores) CPU's and run Windows 2003 SE on it, a physical Windows get's reported that there are 4 CPU's with 2 cores each. Even that Windows 2003 SE is limited to 4 CPU's it would still run on all 8 cores.

In a virtual machine it gets reported what you have assigned. Let's assume 4 vCPU's. So Windows thinks it runs on 4 CPU's with one(!) core. So on the physical box it will occupy a maximum of 4 cores (out of 8).

To change that and to let the guest run on all 2 cores of 4 CPU's you must assign 8 vCPU's to the guest and set the parameter to 2. Then Windows will run on 8 cores as it sees 4 CPU's with 2 cores each. And Windows 2003 SE is limited by CPU's not cores.

Read this: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=101018...


AWo

VCP 3 & 4

\[:o]===\[o:]

=Would you like to have this posting as a ringtone on your cell phone?=

=Send "Posting" to 911 for only $999999,99!=

vExpert 2009/10/11 [:o]===[o:] [: ]o=o[ :] = Save forests! rent firewood! =
Reply
0 Kudos
dhedges
Contributor
Contributor
Jump to solution

Cheers guys, I understand it now.

I have assigned 4 vcpu and with a value of 4 to give the effect of 1 cpu with 4 cores which is under what we have on 1 pcpu as they have 6 but it will do.

Didn't want to break the sql licensing which is for 1 cpu only.

thanks

Reply
0 Kudos