VMware Cloud Community
mavermc
Contributor
Contributor
Jump to solution

esxi 5.5 CPU allocation problem

I've been doing a lot of reading over how Esxi handles the guest os' over all the cores. It seems everywhere I look common practice is to give 1 core to the guest os (or 2 if the application can take advantage of it or so if a program maxes out a core the system will still be responsive)

But realworld I see something completely different. I have a Opteron 6172 which is 24 cores. 2.10ghz. I've got a generic windows 2012 install and when I give it 2 cores, and tell it to run prime95, it only uses about 4ghz esxi, but when I turn around and give it 8 cores it uses 16ghz. Which is the opposite of what I've been reading everywhere, where subscribing too many cores will cause a lag and decrease performance. I haven't messed with any cpu reservations or limits. Could it be there is something wrong with my bios settings for the CPU? or the does this CPU not virtualize properly? In any case my application is really for 1 OS to do all the heavy CPU loads and the other OSs to just support it but with my current license I can only give 8 cores per host. Which is making me feel like I won't be able to get the full performance out of my hardware.

Thanks for any insight into this.

0 Kudos
1 Solution

Accepted Solutions
KenClark2907
Contributor
Contributor
Jump to solution

I'm not sure what your expecting to see, it's working as intended.  Your getting the performance that you should be getting based on the number of cores allocated to the VM * the core clock speed.  CPU scheduling can cause poor performance which is often created by too many vms which have too many vcpus assigned than they actually need to run the workload.    If you only have access to 8 cores and plan to run only 2 vm's - 1 heavy, 1 light in terms of cpu usage you could always set one to have 6 cores and the other one 2.  It all depends on the cpu usage profile of your application,you might even get away with 2 and 1. It's best practice to start with as few cores as possible.

If you currently have the application on physical kit you should really graph it or use something like capacity planner.  If you can afford it, I'd swap your CPU out for an 8core 3+ Ghz otherwise you'll have wasted cores.

View solution in original post

0 Kudos
2 Replies
KenClark2907
Contributor
Contributor
Jump to solution

I'm not sure what your expecting to see, it's working as intended.  Your getting the performance that you should be getting based on the number of cores allocated to the VM * the core clock speed.  CPU scheduling can cause poor performance which is often created by too many vms which have too many vcpus assigned than they actually need to run the workload.    If you only have access to 8 cores and plan to run only 2 vm's - 1 heavy, 1 light in terms of cpu usage you could always set one to have 6 cores and the other one 2.  It all depends on the cpu usage profile of your application,you might even get away with 2 and 1. It's best practice to start with as few cores as possible.

If you currently have the application on physical kit you should really graph it or use something like capacity planner.  If you can afford it, I'd swap your CPU out for an 8core 3+ Ghz otherwise you'll have wasted cores.

0 Kudos
mavermc
Contributor
Contributor
Jump to solution

I don't know I guess from my readings I thought the guest OS would use as much CPU as available no matter how many cores you dedicated to it. I guess now I know that it will only use as many ghz as the cores you provide the guest OS. Since I'm doing real-time data manipulation and compression I was hoping to be able to use the whole of the dual sockets to be used in 1 OS. But I guess that doesn't work that way with vmware unless I get a license that lets me provision all the cores to that one guest os. Thank you for the insight.

0 Kudos