OpenStack Nova Capacity Calculator
Size Nova compute capacity using the cpu and ram allocation ratios, reserved host memory and a chosen flavor.
About OpenStack Nova Capacity Calculator
The Nova scheduler's core filters multiply each node's physical resources by the allocation ratios to produce a schedulable pool, after subtracting reserved_host_memory_mb from RAM. Instance count is then the pool divided by the flavor, taken as the smaller of the CPU and memory answers — and because placement is per-node, a fragmented cluster will hit the wall before the arithmetic says so. Nova ships with cpu_allocation_ratio 16.0 and ram_allocation_ratio 1.5, which will happily oversubscribe a production cloud into swap; setting these deliberately is one of the highest-impact configuration decisions in an OpenStack deployment.
Formula
OpenStack Nova Capacity
schedulable vCPUs = nodes × cores × cpu_allocation_ratio; schedulable RAM = nodes × (node RAM − reserved_host_memory) × ram_allocation_ratio; instances is the lower of each divided by the flavor.
- cpu_allocation_ratio
- How many vCPUs Nova will schedule per physical core
- ram_allocation_ratio
- Memory overcommit Nova permits; above 1.0 risks host swap
- reserved_host_memory_mb
- Memory excluded from scheduling for the hypervisor itself
Worked example
With the default values below, OpenStack Nova Capacity Calculator returns Instances Supported of 576. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Compute nodesaccepts 1–500 nodes
- 12 nodes
- Physical cores per nodeaccepts 1–512 cores
- 48 cores
- cpu_allocation_ratioaccepts 1–32 ratio
- 4 ratio
- Memory per nodeaccepts 8–24,576 GiB
- 384 GiB
- ram_allocation_ratioaccepts 0.5–4 ratio
- 1.2 ratio
- reserved_host_memory_mbaccepts 0–131,072 MiB
- 4,096 MiB
- vCPUs in the flavoraccepts 1–256 vCPU
- 4 vCPU
- Memory in the flavoraccepts 0.25–6,144 GiB
- 8 GiB
Results
- Instances Supported
- 576 instances
- Schedulable vCPUs
- 2,304 vCPU
- Schedulable Memory
- 5,472.0 GiB
- Ceiling from cpu_allocation_ratio
- 576 instances
- Ceiling from ram_allocation_ratio
- 684 instances
- Limiting Ratio
- cpu_allocation_ratio is the limit — raise it or add cores
Step by step
- 1Values used
- 2OpenStack Nova Capacity
- 3Instances Supported= 576 instances
- 4Schedulable vCPUs= 2,304 vCPU
- 5Schedulable Memory= 5,472.0 GiB
- 6Ceiling from cpu_allocation_ratio= 576 instances
- 7Ceiling from ram_allocation_ratio= 684 instances
- 8Limiting Ratio= cpu_allocation_ratio is the limit — raise it or add cores
Assumptions and limits
- The result is derived only from the 8 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
How is OpenStack Nova Capacity calculated?
schedulable vCPUs = nodes × cores × cpu_allocation_ratio; schedulable RAM = nodes × (node RAM − reserved_host_memory) × ram_allocation_ratio; instances is the lower of each divided by the flavor. The Nova scheduler's core filters multiply each node's physical resources by the allocation ratios to produce a schedulable pool, after subtracting reserved_host_memory_mb from RAM. Instance count is then the pool divided by the flavor, taken as the smaller of the CPU and memory answers — and because placement is per-node, a fragmented cluster will hit the wall before the arithmetic says so.
Why does OpenStack Nova Capacity matter?
Nova ships with cpu_allocation_ratio 16.0 and ram_allocation_ratio 1.5, which will happily oversubscribe a production cloud into swap; setting these deliberately is one of the highest-impact configuration decisions in an OpenStack deployment.
What values do I need to enter?
This calculator takes 8 inputs: Compute nodes, Physical cores per node, cpu_allocation_ratio, Memory per node, ram_allocation_ratio, reserved_host_memory_mb, vCPUs in the flavor, Memory in the flavor. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Why can the real instance count be lower than this figure?
Nova places instances on whole nodes, so capacity spread thinly across many nodes may not accommodate a large flavor even when the cluster total looks sufficient. This fragmentation effect is why operators keep a per-node headroom target as well as a cluster one.
Related Calculators
You might also need
- Hypervisor Consolidation CalculatorCommonly used together
- OpenStack Cinder Storage CalculatorCommonly used together
- OpenStack Neutron Network CalculatorCommonly used together
- OpenStack Keystone Resource CalculatorCommonly used together
- OpenStack Swift Storage CalculatorCommonly used together
- OpenShift Node Capacity CalculatorAlso in Virtualization & Private Cloud
