Find VM NUMA locality with PowerShell

When working with NUMA we’d like to be able to monitor how much of the VMs memory is coming from the local NUMA node. In ESXTOP you can find the value by going to the Memory page, enable the NUMA counters and look at N%L for example. What I was missing for my environment was a daily quick view on how the VMs N%L was.

The N%L counter is not available through vCenter stats and so I searched for a way to read ESXTOP. With the help of William Lams post about reading esxtop trough the vCenter API, I was able to write my own script to get just the NUMA values I needed.

Be aware, this is just a snapshot in time of the current situation and not suitable for troubleshooting. This script is based on the assumption that when all VMs in the cluster are at healthy values, above 80% but better as close to 100% as possible, it won’t just change overnight if there aren’t many changes to the cluster.

Find my script at:
https://github.com/TheGabeMan/NUMAlocality-esxtop

Read more about NUMA at Frank Denneman’s site: NUMA.AF. My script is based on Get-EsxtopAPI.ps1 by William Lam.