So as a test in my lab, I changed a VM from 4 vCPU to 5 vCPU (adding one) and started up the VM. The CPU appears in DEV Manager but does not show up in Windows Task Manger. I rebooted, powered off etc. Is there something else that needs to be tweaked for the 5th to show up? Does 2008 not able to hand odd numbered CPU's?
Thanks!
2008 Standard Edition only supports 4 CPUs. You need Enterprise or Datacenter for more than 4.
If you add 6 CPU's to the system, do you get 6 showing up in task manager.
with Windows 2008 (not R2) you can use msconfig advanced boot options to have it detect the HAL at boot time..see if that helps.
I just tried 6, still only four show up. I just tried changing the HAL under advanced startup options... rebooting now to see if it detects 6. (again, six show up in device manager but NOT in the task manager).
Thanks for the response!
I tried six, still shows four. I changed the advanced settings in msconfig to detect HAL on boot, nothing. Still shows 4 in task manager but 6 in dev manager. Hmmm...maybe I need to uninstall vmware tools and reinstall? Some other trick that I can force the HAL to 6, etc??
Hi,
to be able to assign more than 4 vCPU to the vm's you need the vSphere Enterprise Plus license.
You can check this.
Regards/Saludos,
Pablo
Please consider awarding any helpful answer. Thanks!! - Por favor considera premiar las respuestas útiles. ¡¡Muchas gracias!!
I do have Enterprise Plus License. You cant add more then 4-way with anything else...... thanks for the try though!
Does the OS version support more than 4?
Ok,
what is/are the cpu(s) is/are running in your esxi 4 host?
How many cores has? Is it enabled hyper-thereading?
Regards/Saludos,
Pablo
Please consider awarding any helpful answer. Thanks!! - Por favor considera premiar las respuestas útiles. ¡¡Muchas gracias!!
Intel Xeon X5550 w/ Hyper Threading Enabled. Latest ESXi release running. Dual Quad Core system. I just found this interesting hotfix for Server 2008 SE 32bit OS's for when cores are not to the power of 2. http://support.microsoft.com/kb/950182
2008 Standard Edition only supports 4 CPUs. You need Enterprise or Datacenter for more than 4.
Ehh must be the lack of sleep..totally forgot about standard edition limitations. Makes sense why my enterprise editions are fine at 4+ vCPU.
Thanks!
I want to revisit this...I have a physical host running 2003 Standard edition with dual quad core CPU and all eight processors (cores) show up fine. When you run a VM with (more then 4...exp 5/6/7 or 😎 and try to add more then four DOES the OS see the additional processors as PROCESSORS or CORES? From what I see, the OS see's the addition vCPUS's as PROCESSORS and not as CORES. Why is this??
Hi Sixth, you can present the vCPU as dual-core CPUs by adding the line cpuid.coresPerSocket with value 2 to the vmx.
Please award points to any useful answer.
Hi,
this is the normal behavior in vShpere. This is the way it works vSMP in vShpere.
This host has a number of physical cpu (sockets) and cores but the guests always see just core and hyper-threading processors. In the case of hyper-threading logical processors.
For example if you have a esx(i) host with a quadcore processor with hyper-threading enabled, you can assign to vm more than 4 vCPU (of course, the guest OS must support this number of processors) but usually is only using the core processors, not the hyper-threading (logical) processors. Only when the vm doesn't have enough cpu cycles, the vSphere cpu scheduler begins to use the hyper-threading processors assigned to this vm.
Using hyper-threading the gain is not lineal. You again about a 20% in the best scenarios.
Some information about the hyper-threading topic can be checked here.
Hope this helps to answer your doubt
Regards/Saludos,
Pablo
Please consider awarding any helpful answer. Thanks!! - Por favor considera premiar las respuestas útiles. ¡¡Muchas gracias!!
Very intersting informaton. I added the line in the advanced system properties and changed made it 2. The vm has 6 vCPU's and now the OS see's 6 in task manager but the performance is horrendous. The VM is so slow, so this works but its not working as it should I think. I need to do more reading about the technical limitations of the way vSPhere handles SMP with multiple vCPU's. Basically the OS see's them as PHYSICAL processors intead of Cores. SInce the Windows OS is licensed based on pCpu's you are essentially screwed with standard edition of the OS, and will need Enterprise edition to see all the vCPU's.
vCpu's = pCpu's in the OS. Thats what I am understanding I guess. (throw out Hypertreading topic, I do know that HT wont show up in the guest as its underlying at the hypervisor).
Edit- So the more I think about it...if you forget about task manager and the OS 'sees' the additional processor in device manager, will the OS still use it?? Will the hypervisor take care of the distributing the work load across the assigned vCPU's even though they are not in task manager?
What is your underlying hardware?
Please award points to any useful answer.
Dell R710 Dual Quad Core X5550 w/ HT enabled
Running a guest across NUMA nodes not ideal TBH. I would be cautious of assigning more than 2 or at worst 4 of that platform.
Please award points to any useful answer.
Ignore my reference to bad performance, I had a resource reservation set on this LAB vm. Just removed it and the performance seems to be fine with 6 vCPU's. So the change to the advanced section worked fine...I guess I will have to do that in production and set it to '2' so it see's the vCPU's as cores per pCPU.
The reason why I am testing this is because I have a VM (front end web server) with 4vCPU and its getting hit HARD....about 90-95% cpu all day long. I may need to add another 2vCPU's to it but before I do I wanted to test this in a LAB environment first, of course I came across this issue.