Average VMs hide extremes
Averages are useful for quick planning, but large database, VDI, and latency-sensitive VMs should be modeled separately.
VM consolidation ratio is the number of running VMs divided by the number of active physical hosts.
VM-per-host density is not the same as vCPU-to-physical-core overcommit: the first counts running VMs per active host, while the second divides allocated vCPU by physical cores. This calculator can measure both observed ratios or plan host capacity from allocation guardrails, peak CPU demand, RAM, optional storage, growth, and HA policy.
Observed VM consolidation ratio: running VMs / active physical hosts. Numerator: running VMs. Denominator: hosts actively carrying them.
Observed allocated vCPU:pCore: allocated vCPU / active physical cores. SMT threads are excluded from the physical-core denominator.
Physical cores per host: sockets per host × physical cores per socket.
Effective cores per host: physical cores × [1 + (threads per core − 1) × SMT efficiency]. This is an estimated throughput equivalent, not a physical-core count.
Active hosts: installed hosts − policy reserve; percentage reserve uses ceil(installed hosts × reserve %).
Allocation guardrail VMs: floor(active hosts × physical cores per host × vCPU:pCore target / allocated vCPU per VM). The allocation target applies to physical cores before SMT and is not multiplied by utilization.
Peak CPU demand per VM: allocated vCPU per VM × average active CPU % × peak multiplier.
Demand-limited VMs: floor(active hosts × effective cores per host × (1 − host overhead) × peak CPU ceiling / peak CPU demand per VM).
Usable physical RAM: active hosts × (GiB per host − hypervisor reserve GiB) × RAM ceiling.
RAM-limited VMs: floor(usable physical RAM × vRAM:usable-RAM target / allocated GiB per VM). The commitment ratio applies after reserve and the RAM ceiling.
Storage-limited VMs: floor(raw GiB × storage ceiling × (1 − resilience overhead) / used GiB per VM). Per-host storage is multiplied by active hosts; cluster storage is not.
Overall capacity: min(allocation limit, demand limit, RAM limit, enabled storage limit).
Growth: projected VMs = current VMs × (1 + annual growth %)^(months / 12).
Planning buffer: buffered VMs = projected VMs × (1 + buffer %).
CPU hosts required: the larger of ceil(buffered VMs × vCPU per VM / allocation capacity per host) and ceil(buffered VMs × peak demand per VM / demand capacity per host).
RAM hosts required: ceil(buffered VMs × GiB per VM / supported vRAM per host). Storage hosts use the equivalent per-host equation only when storage scope is per host.
Total hosts required: maximum active hosts required + reserve hosts. Every capacity limit rounds down to a whole supported VM; every host requirement rounds up.
GiB versus GB: this page uses binary GiB (1 GiB = 1,073,741,824 bytes) and TiB (1 TiB = 1,024 GiB). Decimal storage labels from vendors may use GB/TB, so convert them before entry. Ratios are starting assumptions, not universal safe limits.
Assume 8 hosts, N+1 reserve, 2 sockets × 16 physical cores, 512 GiB RAM with 24 GiB reserved, 30% SMT sibling efficiency, 10% host CPU overhead, a 70% CPU ceiling, 5:1 allocated vCPU:pCore guardrail, 80% RAM ceiling, and 1.1:1 vRAM commitment. The average VM has 2 vCPU, 8 GiB RAM, 20% average active CPU, and a 1.75× peak multiplier. Current demand is 220 VMs with 20% annual growth over 12 months and a 10% buffer.
8 − 1 = 7.2 × 16 = 32 physical cores per host; 32 × [1 + (2 − 1) × 0.30] = 41.6 effective cores per host.7 × 32 × 5 = 1,120 vCPU, so the allocation guardrail is floor(1,120 / 2) = 560 VMs.2 × 0.20 × 1.75 = 0.7 core equivalent. Cluster peak capacity is 7 × 41.6 × 0.90 × 0.70 = 183.456 core equivalents, so demand supports floor(183.456 / 0.7) = 262 VMs.7 × (512 − 24) × 0.80 = 2,732.8 GiB. Supported vRAM is 2,732.8 × 1.1 = 3,006.08 GiB, so RAM supports floor(3,006.08 / 8) = 375 VMs.min(560, 262, 375) = 262 VMs, or 262 / 7 = 37.4 VMs per active host.220 × 1.20 = 264 projected VMs; 264 × 1.10 = 290.4 buffered VMs.ceil(290.4 × 0.7 / 26.208) = 8 active hosts, so N+1 requires 8 + 1 = 9 hosts.Interpretation: allocated vCPU and RAM both appear sufficient, but measured peak CPU demand is tighter. Capacity from another resource cannot compensate for CPU scheduling demand, so the 262-VM demand limit determines the result.
| Signal | What it means | Typical follow-up |
|---|---|---|
| CPU bottleneck | Allocated-vCPU guardrail or measured peak demand reaches its CPU limit before RAM or storage. | Right-size wide VMs, add cores, reduce contention, or split bursty and latency-sensitive workloads. |
| RAM bottleneck | Committed vRAM reaches the selected usable memory target before CPU or storage does. | Add RAM, reclaim oversized VMs, reduce memory commitment, or separate memory-heavy workloads. |
| Host reserve pressure | Normal operation fits, but N+1 or maintenance reserve makes the active pool too small. | Add hosts or reduce the number of simultaneous host-loss scenarios being modeled. |
| Socket growth | Required hosts may change licensing, support, or virtualization platform entitlements. | Review socket, core, and per-VM licensing rules before purchasing or migrating. |
The calculator separates allocated vCPU from performance demand. It independently calculates the allocation guardrail, peak-demand CPU capacity, committed-RAM capacity, and optional storage capacity, then uses the smallest. Mixed workloads are converted to count-weighted average allocation and demand so their entered class proportions are preserved in the capacity estimate.
The presets are transparent starting scenarios only: conservative uses 3:1 allocation, 60% peak CPU, 75% RAM, 1:1 vRAM, and 15% overhead; balanced uses 5:1, 70%, 80%, 1.1:1, and 10%; dense uses 8:1, 75%, 85%, 1.2:1, and 8%. None is a vendor recommendation. Replace them with telemetry covering representative peaks, maintenance, and failure conditions.
Authored and technically reviewed by the Starlight Robotics infrastructure editorial team. Reviewed 15 July 2026. Calculations are deterministic arithmetic and run locally in your browser.
15 July 2026 — version 2.0: added measurement and sizing modes, demand-based CPU capacity, mixed workloads, explicit topology and SMT efficiency, HA comparisons, sensitivity scenarios, storage constraints, formula transparency, accessibility upgrades, and structured-data parity.
VM consolidation ratio is the number of running VMs divided by the number of active physical hosts. For example, 180 running VMs on six active hosts is 30 VMs per host.
Divide the number of running VMs by the number of active physical hosts carrying them. Exclude a powered-off or deliberately reserved host from the denominator; include it when it returns to the active pool.
No. VM consolidation ratio is running VMs divided by active hosts. Allocated vCPU:pCore is total allocated vCPU divided by physical CPU cores. A cluster can have the same VM density with very different vCPU allocation and real CPU demand.
No. A logical processor created by SMT or Hyper-Threading shares execution resources with its sibling thread. This calculator keeps physical cores separate and lets you assign only an estimated incremental SMT efficiency; validate that factor on your hardware and workload.
N+1 retains enough capacity after one host is unavailable; N+2 retains enough after two. N+2 costs more capacity but covers a second failure or overlapping maintenance. Admission-control details differ by platform.
Use a representative peak percentile from a period that includes business peaks, multiply average active CPU only when that multiplier is evidence-based, and retain headroom. Model bursty or latency-sensitive classes separately and check scheduler wait, application latency, and memory pressure after deployment.
Yes, the arithmetic is platform-neutral. The safe assumptions are not: schedulers, SMT topology, dynamic memory or ballooning, admission control, NUMA placement, storage resilience, and reported counters differ, so validate the result with the chosen platform's telemetry and guidance.
There is no universal value. Low-latency and busy production workloads often need conservative allocation, while measured idle or development workloads may tolerate more. Use observed peak demand, CPU Ready or equivalent scheduler-wait metrics, Co-Stop for wide VMs, and application latency.
Storage capacity is optional in sizing mode and can cap the result. The calculator does not model IOPS, latency, throughput, replication rebuild time, network capacity, backup windows, GPUs, affinity rules, or NUMA placement; check those separately.
Only when the platform and measured workload behavior support it. Ballooning can reclaim idle guest memory, but compression, host swapping, and guest paging under pressure can hurt latency. Monitor active or working-set memory and reclamation counters rather than relying only on allocated memory.
Reserved hosts represent capacity unavailable to normal placement because of maintenance drain or failover policy. Subtracting them before calculating density tests whether the remaining hosts can carry the workload.
Yes. Inputs and calculations stay in your browser; sharing creates a URL containing the entered assumptions, so review it before sending.
This is an infrastructure planning aid, not a performance guarantee, procurement approval, or vendor support statement. Validate consolidation targets with production telemetry, hypervisor guidance, application owners, load testing, failure drills, and change-management requirements before relying on them.
Averages are useful for quick planning, but large database, VDI, and latency-sensitive VMs should be modeled separately.
High vCPU density can look fine on aggregate CPU charts while guests wait to be scheduled.
Swapping and compression can turn a small memory shortage into a broad latency incident.
N+1 and maintenance targets should be subtracted before calculating VM density, not added afterward.