Work out how many VMs an ESXi cluster really holds once CPU overcommit, host memory overhead and per-VM VMX overhead are applied.
Density is a two-sided constraint: the CPU side multiplies logical cores by the overcommit ratio you are prepared to run, while the memory side starts from installed RAM, removes the VMkernel's 5-6% overhead, adds back whatever transparent page sharing and compression recover, then charges each VM its configured RAM plus VMX overhead. Whichever side runs out first is your real ceiling. Buying hosts against a CPU number when the cluster is memory bound is the most common capacity-planning mistake in vSphere — memory almost always saturates first, because CPU can be overcommitted safely and RAM cannot.
VMware VM Density
VMs by CPU = hosts × cores × threads × overcommit ÷ vCPU per VM; VMs by memory = hosts × RAM × (1 − host overhead) × (1 + sharing gain) ÷ (VM RAM + VMX overhead); density is the lower of the two.
VMs by CPU = hosts × cores × threads × overcommit ÷ vCPU per VM; VMs by memory = hosts × RAM × (1 − host overhead) × (1 + sharing gain) ÷ (VM RAM + VMX overhead); density is the lower of the two. Density is a two-sided constraint: the CPU side multiplies logical cores by the overcommit ratio you are prepared to run, while the memory side starts from installed RAM, removes the VMkernel's 5-6% overhead, adds back whatever transparent page sharing and compression recover, then charges each VM its configured RAM plus VMX overhead. Whichever side runs out first is your real ceiling.
Buying hosts against a CPU number when the cluster is memory bound is the most common capacity-planning mistake in vSphere — memory almost always saturates first, because CPU can be overcommitted safely and RAM cannot.
This calculator takes 10 inputs: Hosts in cluster, Physical cores per host, Hyper-threading enabled, Memory per host, vCPU per logical CPU, ESXi host memory overhead, vCPUs per VM, Memory per VM, VMX overhead per VM, Page sharing and compression gain. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Logical CPUs double but throughput typically rises only 20-30%, because the two threads share one core's execution units. Treating hyper-threads as full cores is safe only when you also keep the overcommit ratio conservative.