There was a question on VMTN about Memory Tiering performance, and how you can check if pages were tiered. I haven’t played around with Memory Tiering too much, so I noted down for myself what I needed to do on every host in order to enable it. Note, if the command contains a path and you want to do this in your own environment you need to change the path and device name accordingly. The question was if memory pages were tiered or not, so I dug up the command that allows you to check this on a per host level. It is at the bottom of this article for those who just want to skip to that part.
Now, before I forget, probably worth mentioning as this is something many people don’t seem to understand, memory tiering only tiers cold memory pages. Active pages are not being moved to NVMe, on top of that, it only tiers memory when there’s memory pressure! So if you don’t see any tiering, it could simply be that you are not under any memory capacity pressure. (Why move pages to a lower tier when there’s no need?)
List all storage devices via the CLI:
esxcli storage core device list
Create memory tiering partition on an NVMe device:
esxcli system tierdevice create -d=/vmfs/devices/disks/eui.1ea506b32a7f4454000c296a4884dc68
Enable Memory Tiering on a host level, note this requires a reboot:
esxcli system settings kernel set -s MemoryTiering -v TRUE
How is Memory Tiering configured in terms of DRAM to NVMe ratio? A 4:1 DRAM to NVMe ratio would be 25%, 1:1 would be 100%. So if you have it set at 4:1, with 512GB of DRAM you would only use 128GB of the NVMe at most, regardless of the size of the device.
esxcli system settings advanced list -o /Mem/TierNvmePct
Is memory tiered or not? Find out all about it via memstats!
memstats -r vmtier-stats -u mb
Want to show a select number of metrics?
memstats -r vmtier-stats -u mb -s name:memSize:active:tier1Target:tier1Consumed:tier1ConsumedPeak:comnsumed
So what would the outcome look like when there is memory tiering happening? I removed a bunch of the metrics, just to keep it readable, “tier1” is the NVMe device, and as you can see each VM has several MBs worth of memory pages on NVMe right now.
VIRTUAL MACHINE MEMORY TIER STATS: Wed Dec 17 15:29:43 2025
-----------------------------------------------
Start Group ID : 0
No. of levels : 12
Unit : MB
Selected columns : name:memSize:tier1Consumed
----------------------------------------
name memSize tier1Consumed
----------------------------------------
vm.533611 4096 12
vm.533612 4096 34
vm.533613 4096 24
vm.533614 4096 11
vm.533615 4096 25
----------------------------------------
Total 20480 106
----------------------------------------
Hello Duncan
Are you considering adding details like how much RAM is tiered when this feature is enabled? This would allow customers to experience the feature before buying hardware or going through trial and error. It could be a nice metric for Aria.