Tools / Guides / NVMe Memory Tiering Calculator
// Guide · Design & architecture

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.

VCF 9.0Mem.TierNVMePctActive Memory SizingPer-VM TieringEncryptionPowerCLI Export
Open the tool Jump to walkthrough

Quick start

  1. Pick host hardware — DRAM type (DDR4/DDR5), DRAM capacity, NVMe device size and count.
  2. Set tiering ratio — Mem.TierNVMePct (0-400, where 100 = 1:1 DRAM:NVMe).
  3. Run the analysis — tool calculates effective memory, active memory headroom, and validates the 50% rule.
  4. Add workloads — classify VMs by memory hotness (hot stays in DRAM, cold tiers to NVMe).
  5. Export PowerCLI — get the commands to set Mem.TierNVMePct and per-VM exclusions, ready to run against vCenter.
On this page

When to use this tool

Use this tool when you need to:

NVMe ≠ DRAM speed Even the fastest NVMe is ~1000× slower than DRAM. Memory tiering works because most VMs touch only a small percentage of their RAM at any moment ("active memory"). If your workload is genuinely memory-hot, tiering will hurt — not help — performance.

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:

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:

2. Set Mem.TierNVMePct

Choose the ratio. Common values:

Higher ratios depend more on workload behaviour. Start conservative; raise if monitoring shows headroom.

3. Read the analysis

The tool shows:

4. Add workloads

Click Add Workload to model VMs:

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:

Any failures are flagged red with specific remediation suggestions.

6. Export PowerCLI

The tool generates PowerCLI script that:

Review carefully before running — these are global host-level changes that require maintenance window.

Examples

Example · 512 GB DRAM + 100% tiering for dev/test cluster

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
Example · Aggressive tiering for VDI

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

🚨
Tiering production databases Database VMs touch most of their memory regularly (buffer pools, indexes). Tiering them causes constant page faults and tanks performance. Always pin DB workloads to DRAM with per-VM exclusion.
Ignoring the 50% active memory rule If active memory exceeds 50% of DRAM, every page access has high probability of NVMe fault. Performance collapses non-linearly. The validator catches this — don't override.
Overprovisioning the NVMe partition NVMe used for memory tiering can't also be vSAN capacity or scratch. Plan drive count carefully — usually dedicate 1-2 drives to tiering and keep the rest for vSAN.
Forgetting host reboots Mem.TierNVMePct changes require host reboot to take effect. Plan maintenance windows; can't change live.
Mixing tiering and vSAN ESA on the same NVMe You can use the same NVMe drives for both vSAN ESA capacity and memory tiering by partitioning, but it's complex and reduces capacity for both. Generally cleaner: dedicate drives to one purpose.

Tools that pair well with NVMe Memory Tiering Calculator:

FAQ

How much performance penalty do tiered VMs see?
For the rare page that faults from NVMe: ~50-100µs vs. DRAM's 0.1µs (500-1000× slower). For workloads that touch <10% of memory frequently: negligible aggregate impact. For workloads that touch >50%: severe impact. Monitor active memory carefully.
Does memory tiering work with vSAN ESA?
Yes — they're independent features. You can run both on the same host but typically use separate NVMe drives for each.
Can I enable tiering on existing hosts?
Yes — change the host setting and reboot. The NVMe partition is created on next boot. No data migration needed.
What if active memory spikes above 50% temporarily?
You'll see page faults and performance degradation during the spike, but it's recoverable once the spike subsides. Sustained spikes above 50% mean the cluster is undersized for the workload.
Should I encrypt the NVMe tier?
For sensitive workloads, yes — the NVMe holds memory pages which may include sensitive data. The tool's PowerCLI export includes encryption setup. Performance impact is minimal on modern NVMe.
Why DDR5 vs DDR4 in the inputs?
DDR5 has higher bandwidth and lower latency than DDR4, slightly improving the cost of NVMe page faults relative to local memory access. The tool's recommendations adapt — DDR5 hosts can sustain slightly higher tiering ratios safely.