Understanding VMware Slot Sizes
February 5, 2013VMware slot sizes are an important topic if you’re concerned with how many ESXi hosts are required to run your environment.
What is a Slot?
To begin this post, we need to understand what a slot is. A slot is the minimum amount of CPU and memory resources required for a single VM in an ESXi cluster. Slot size is an important concept because it affects admission control.
A VMware ESXi cluster needs a way to determine how many resources need to be available in the event of a host failure. This slot calculation gives the cluster a way to reserve the right amount of resources.
How are Slots Sized?
The slot has two parts, the CPU component and the memory component. Each of them has its own calculation. If there are no virtual machine resource reservations in the cluster, then the slot size (for ESXi 5 at least) is 32 Mhz for CPU and 0 MBs + overhead for memory. (I’ve used 80 MBs as my memory overhead in the examples)
On to an incredibly simplistic diagram…
In the example below we have 2 ESXi hosts that have the same amount of resources available for virtual machines. There are different sized VMs, but none of them have a reservation. Doing a quick calculation we can determine that 384 slots are available on each host.
CPU Component: 4 X 3.0 GHz / 32 MHz = 384 slots
Memory Component: 49 GBs / 80 MBs = 627 slots
We take the lower value between the CPU slot size and the memory slot size to determine the number of virtual machines that can be started up under admission control. So therefore we could safely start 384 machines on these ESXi hosts, have one fail, and have the other host start all of them.
(I should mention that it’s unlikely that you could get 384 vms on one of these hosts. That would be a great consolidation ratio.)
Problem Scenario
What if you have a single large VM with a reservation, but the rest of the virtual machines are relatively small.
Let’s look at the same environment, but this time let’s make the larger VM have a reservation on it.
CPU Component: 4 X 3.0 GHz / 2000 MHz = 6 slots
Memory Component: 49 GBs / 4024 MBs = 12 slots
Admission control is going to tell us that only 6 slots are available on host B, so it will only allow 6 VMs on host A to be powered on. Since I’m using a simplistic diagram with only two hosts, we know that these VMs will still fit on the host but since we use the largest slot size to determine how much we can fail over admission control will stop us from powering on VMs.
What are our options?
Option 1 – Don’t use reservations unless their is a good reason to do so.
Option 2 – We can manually configure the slot size on the cluster.
Navigate to the cluster settings and go to the HA Section, Click Edit and you’ll have the option of modifying the slot size. Note that if you do this, some of your VMs will require multiple slots to run. For instance the large VM we used in our example might take more than 1 slot depending on what size you make it. The button below the slot size configuration may help you determine how many VMs will be affected by this change.
View Your Slot Size
If you’re curious about what the slot size is on your system, look at your cluster summary. There will be an item listed for slot size.
Summary
If you’re in a situation where you think you need to add extra ESXi hosts to your cluster because you can’t power on virtual machines without exceeding your admission control rules, take a look at your slot sizes first. It may save you some money on a host you don’t really need.
Do you want more information on the subject? Take a look at either Frank Denneman or Duncan Epping’s blogs, or their book
Hello Eric
can you explain how you calculated 627 memory slot in first example
and what is 4024 MBs As you have mentioned
I’ve used 80 MBs as my memory overhead in the examples
It looks like I might have had a calculation wrong there. 49 GBs / 80 MBs of memory overhead should equal 627 slots. Sorry about that. Typo fixed now. Thank you for the question.
Eric, while looking at the first example, I see that you calculated your CPU slots with 2000 MHz, is that the appropriate number if there isn’t a reservation and you’ve specified the slot size as 32 MHz? Should the calculation be “4 x 3.0 GHz / 32 MHz” not “4 x 3.0 GHz / 2000 MHz”
You are correct. I modified the post. Thanks.
One more, does “4 X 3.0 GHz / 32 MHz = 384 slots” or should it equal “4 X 3.0 GHz / 32 MHz = 375 slots”?
Was I wrong in the above calculation?