NVMe Memory Tiering Calculator
VCF 9 introduced NVMe memory tiering — extending effective host RAM by transparently using NVMe drives as a slower memory tier. This calculator models the DRAM:NVMe ratio with Mem.TierNVMePct, validates against the 50% active-memory rule, sizes the NVMe partition, and exports the PowerCLI to apply settings.
Quick start
- Pick host hardware — DRAM type (DDR4/DDR5), DRAM capacity, NVMe device size and count.
- Set tiering ratio — Mem.TierNVMePct (0-400, where 100 = 1:1 DRAM:NVMe).
- Run the analysis — tool calculates effective memory, active memory headroom, and validates the 50% rule.
- Add workloads — classify VMs by memory hotness (hot stays in DRAM, cold tiers to NVMe).
- Export PowerCLI — get the commands to set Mem.TierNVMePct and per-VM exclusions, ready to run against vCenter.
When to use this tool
Use this tool when you need to:
- Plan VCF 9 hosts with memory tiering — extend effective RAM beyond what fits as DRAM modules.
- Right-size the NVMe partition for memory tiering vs. other use (vSAN, scratch, datastore).
- Validate that workloads will actually benefit — if all your VMs are hot, NVMe tiering doesn't help. The 50% active rule is critical.
- Identify which VMs to exclude from tiering — latency-sensitive workloads (DB, real-time) should pin to DRAM.
- Compare hardware options — does it cost less to buy bigger DRAM modules or use NVMe tiering with smaller DRAM?
How it works
Memory tiering presents (DRAM + NVMe) to ESXi as one logical pool, but VMs see only the DRAM portion as "fast" memory. The hypervisor moves cold pages to NVMe transparently and brings them back when accessed.
The key parameter is Mem.TierNVMePct:
- 0 — disabled, normal DRAM-only
- 50 — 1:0.5 DRAM:NVMe (50% extra effective memory)
- 100 — 1:1 DRAM:NVMe (double effective memory)
- 200 — 1:2 DRAM:NVMe (triple effective memory)
- 400 — 1:4 DRAM:NVMe (5× effective memory) — extreme
The 50% active memory rule: total active memory across all VMs must be ≤50% of physical DRAM. If active exceeds 50%, you're thrashing — VMs constantly fault pages back from NVMe and performance collapses.
Step-by-step walkthrough
1. Configure host hardware
Specify per-host:
- DRAM type — DDR4 or DDR5 (DDR5 is faster, slightly improves tiering performance).
- DRAM capacity — total DRAM installed (e.g. 512 GB).
- NVMe device size — per-drive NVMe capacity (240 GB through 8 TB).
- NVMe device count — how many drives reserved for tiering (vs. other purposes).
2. Set Mem.TierNVMePct
Choose the ratio. Common values:
- 50 — conservative, 1.5× effective memory. Safe for mixed workloads.
- 100 — balanced, 2× effective memory. Good for moderate workloads.
- 200 — aggressive, 3× effective memory. Requires cold workloads.
Higher ratios depend more on workload behaviour. Start conservative; raise if monitoring shows headroom.
3. Read the analysis
The tool shows:
- Effective memory total — DRAM + NVMe at the chosen ratio
- NVMe partition size required — how much per-drive capacity will be consumed
- 50% active memory ceiling — the most workload active memory you can support
- Tiering disabled comparison — what you get from DRAM-only baseline
4. Add workloads
Click Add Workload to model VMs:
- VM count — how many of this workload type
- Memory per VM
- Active memory % — fraction of memory frequently accessed (database = high; web server = lower; idle dev VMs = very low)
- Tiering eligibility — Yes (let the hypervisor tier), No (pin to DRAM)
Latency-sensitive workloads (production DB, real-time analytics) → pin to DRAM. Best candidates for tiering: dev/test VMs, batch workloads, idle staging.
5. Validate
The tool checks:
- Total VM memory fits within effective memory
- Total active memory ≤50% of DRAM
- Pinned VMs fit within DRAM portion alone
- NVMe partition size is achievable on selected drives
Any failures are flagged red with specific remediation suggestions.
6. Export PowerCLI
The tool generates PowerCLI script that:
- Sets
Mem.TierNVMePctto your chosen value - Configures NVMe partitions on each host
- Sets per-VM tiering exclusions for pinned workloads
- Enables encryption if requested
- Includes pre-flight verification commands
Review carefully before running — these are global host-level changes that require maintenance window.
Examples
Host: 512 GB DDR5, 4× 1.92 TB NVMe (1× reserved for tiering). Mem.TierNVMePct=100.
- Effective memory: 1024 GB (512 DRAM + 512 NVMe-tiered)
- NVMe partition: 512 GB (uses 27% of the 1.92 TB drive)
- 50% rule: max 256 GB active across all VMs
- Workload: 80 dev VMs × 12 GB = 960 GB total, 15% active = 144 GB
- Result: ✓ fits comfortably, well under 50% active rule
Host: 512 GB DDR5, 8× 3.84 TB NVMe. Mem.TierNVMePct=200.
- Effective memory: 1.5 TB (512 DRAM + 1024 NVMe-tiered)
- VDI workload: 200 VDI desktops × 8 GB = 1600 GB total — won't fit; reduce VM count or VM RAM
- VDI active is naturally low (idle desktops); but 200% ratio is risky for production
- Conclusion: 100% ratio with 150 desktops is safer baseline
Common mistakes
Related tools
Tools that pair well with NVMe Memory Tiering Calculator: