Skip to content
ENExplore Calculators

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

  1. 1Values used
  2. 2OpenStack Nova Capacity
  3. 3Instances Supported= 576 instances
  4. 4Schedulable vCPUs= 2,304 vCPU
  5. 5Schedulable Memory= 5,472.0 GiB
  6. 6Ceiling from cpu_allocation_ratio= 576 instances
  7. 7Ceiling from ram_allocation_ratio= 684 instances
  8. 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.

OpenStack Nova Capacity Calculator | Calcrivo