NPX – Controller VM Sizing

The Nutanix Controller VM has some sizing guidelines that are published in the official documentation, but the majority of the sizing logic is embedded within Foundation (and Phoenix) which is applied during the node deployment process.

As a customer you can ignore this under the guise of “invisible infrastructure”, but as an NPX candidate you need to understand the details.  Be aware that Nutanix is constantly trying to optimise the CVM code to “do more with less” and leverage the CPU features of each new generation of Intel processors.

The NPX Link-O-Rama is a great resource for all things NPX, including this applicable list of articles in my VCDX Deep-Dive series (more than 70 posts).

Thank you to Michael Webster and Jon Kohler for collaborating with me on this post.

The Controller VM has the following vCPU settings and Reservations (ESXi only) assigned during deployment:

  • Default: 8 vCPU, 10,000 MHz Reservation
  • NX-1020: 4 vCPU, 7,000 MHz Reservation
  • NX-1050: 8 vCPU, 10,000 MHz Reservation
  • NX-3000: 8 vCPU, 10,000 MHz Reservation
  • NX-6020: 8 vCPU, 10,000 MHz Reservation
  • NX-6035C: 4 vCPU, Reservation not supported (AHV)
  • NX-7000: 8 vCPU, 10,000 MHz Reservation
  • NX-8000: 8 vCPU, 10,000 MHz Reservation
  • NX-9000: 8 vCPU, 10,000 MHz Reservation

The Nutanix Cluster Check has a check to verify your CVM vCPU is correctly sized: “ncc health_checks system_checks cvm_vcpu_reservation_check”.

During the Foundation deployment, you have the option to select 16GB, 24GB or 32GB of RAM for each CVM (depending upon Foundation version, otherwise change it manually).  The following guide-lines apply to RAM selection:

  • 16GB RAM: Default, minimum configuration
  • 24GB RAM: Performance-tier Deduplication configured for a container
  • 32GB RAM: Capacity-tier Deduplication configured for a container or Business Critical Applications are running in the cluster (greater cache size for databases and MS Exchange)
  • Greater than 32GB RAM: This is a rare requirement for some medical applications that require very large cache sizes (certification process in progress) and “pre-4.5” (before the Extent and Content Caches were unified) it was also used for large business critical databases.

Keep the following in mind when you are customising the vCPU and RAM of Controller VMs in a Nutanix cluster:

  • Consistent, homogeneous cluster-wide settings (keep this in mind when expanding an existing cluster with different hardware models)
  • Fits within the NUMA boundaries of the node and is divisible by the NUMA node
  • Random I/O is CPU bound: more random I/O, increase vCPUs
  • Random reads are less likely to hit the cache
  • Sequential I/O is physical disk bound
  • Sequential reads are more likely to hit the cache
  • If you are exceeding the guidelines, involve Nutanix GSO before putting it into Production.  Deliver supported configurations to your customers.

Additional Resources:

Published by


Chief Enterprise Architect and Strategist, 4xVCDX#133, NPX#8, DECM-EA.