Plan NVMe memory tiering for VCF 9 hosts using Mem.TierNVMePct. Size NVMe partitions, model active memory fit, classify workloads, and export ESX configuration.
sched.mem.enableTiering = FALSE.Get-AdvancedSetting / Set-AdvancedSetting in PowerCLI. VM-scoped parameters are set per-VM via New-AdvancedSetting on the VM object. Changes to host parameters require careful planning — review the VMware blog series below before modifying in production.| Parameter | Scope | Default | Description |
|---|---|---|---|
| Mem.TierNVMePct | Host | 100 | Controls the DRAM:NVMe ratio. A value of 100 means NVMe tier equals 100% of DRAM (1:1 ratio). 200 = 1:2, 400 = 1:4. The default 1:1 is recommended for most workloads. Only increase after verifying active memory fits in DRAM. |
| Mem.EncryptTierNvme | Host | 0 | Enables AES-XTS encryption for all VM pages swapped to the NVMe tier on this host. Required for compliance in regulated environments since NVMe is non-volatile — data persists after power loss unlike DRAM. Set to 1 to enable. |
| sched.mem.EncryptTierNVMe | VM | FALSE | Per-VM alternative to host-level encryption. Encrypts NVMe tier pages only for specific high-value VMs (domain controllers, finance databases) without the overhead of encrypting all VMs on the host. Set to TRUE. |
| sched.mem.enableTiering | VM | TRUE | Set to FALSE to exclude a VM from memory tiering entirely — all its pages stay in DRAM (Tier 0). Required for SAP HANA, in-memory databases, high-frequency trading apps, FT-enabled VMs, and VMs using large memory pages. |
esxcli memtier status get and hardware via esxcli hardware memory tier list.
esxcli memtier status get, sets Mem.TierNVMePct to your configured ratio, and optionally enables host-level encryption. If you defined workload exclusions or per-VM encryption, those are applied via New-AdvancedSetting on each VM.$vCenter and the Get-VMHost filter to match your environment. Requires PowerShell 7+ with VMware.PowerCLI module installed. Test in a non-production cluster first. NVMe partition creation (esxcli memtier partition create) must be done separately before running this script — see Part 6 of the blog series.