Hey guys,
I've got a Redhat Enterprise Linux 5 X86 VM running on vCenter. I've set the number of vCPU's to 4, which is fine. Previously it had the number of CPUID cores set to 4. I downloaded the VMX file, changed the CPUID cores to 8, removed it from the inventory, and then put re-added it to the inventory to load up the new VMX file. It's still telling me I have 4 CPU's, with 4 cores each. I confirmed that the VMX file still says it has 8. Any idea's as to why my VM isn't detecting the right number of cores?
How many vCPUs are assigned (look in the properties)? Are you running ESX Enterprise +
Our physical machine supports up to 16 logical processors.
I tried setting our vCPU's to 8 (which says the OS doesnt' support it). So I tried to set the vCPU's to 2, and then set the CPUID to 8. As I now understand, it must be divisible by the number of sockets. So with 2 vCPUs's they can have a max of 2 cores each, 4vCPU's can have a max of 4, etc. I guess that's the only way we can achieve 16 processors, I was hoping to try a different configuration and see if the performance changed at all.
however many sockets or cores you want to give a VM, you still must present the vCPU's to the guest. So, if you want 2 socket 4 cores, you need to give the VM 8 vCPU's. And, as stated, in order to do that you must have Enterprise Plus and running 4.1 or better.
I think there's a confusion with the maximum vCPUs per VM and the cpuid.coresPerSocket setting.
Depending on your ESX(i) license you can assign up to 8 vCPUs with "Enterprise Plus" and up to 4 vCPUs with any of the other licenses. It does not matter whether the vCPUs are assigned with or without the cpuid.coresPerSocket setting.
cpuid.coresPerSocket basically only devides the number of vCPUs configured for the VM to present the vCPUs as multi core CPUs to the guest OS.
Example (with Enterprise Plus license):
8 vCPUs configured, cpuid.coresPerSocket not set --> the VM will see 8 CPUs
8 vCPUs configured, cpuid.coresPerSocket = 2 --> the VM will see 4 dual core CPUs
8 vCPUs configured, cpuid.coresPerSocket = 4 --> the VM will see 2 quad core CPUs
see also http://kb.vmware.com/kb/1010184
André
That makes sense. It's actually vCenter Server 4.1.x, I hould have put this under the vCenter questions. Is this also a licence issue with vCenter? When I try to assign 8 vCPU's to the VM, it says the host can't support more then 4. I always thought RHEL 5 was able to support more processors, virtual processors especially.
you didn't answer the queston as to whether or not you have Enterprise Plus Licensng. To check, click on the configuration tab of an ESXi Host--licensed features--Product Features.
Is this also a licence issue with vCenter?
No, it depends on the host/CPU licenses. It does not matter whether the hosts are added to vCenter Server or not.
To add a host licensed for "Enterprise Plus" to vCenter Server, you can use the vCenter Server Foundation (up to 3 hosts) or the vCenter Server Standard version/license.
André
The licence currently running is the vSphere 4 Advanced Licence for 2 physical CPU's. (1-12 cores per CPU)
vSphere Advanced only allow for maximum 4vCPU.
As you can see in http://www.vmware.com/products/vsphere/buy/editions_comparison.html the "vCPU Entitlement" for this license is 4-way.
André
As Troy and Andre have stated, with your current licensing, you will be unable to build a virtual machine with more than 4 vCPUs.
Further, there is no version of VMware that would allow you to build a virtual machine using the 16 cores that you are attempting to use.