VMware Cloud on AWS provides several mechanisms to configure and adjust the allocation of CPU and memory resources for virtual machines running within it. Resource management configurations can have a significant impact on virtual machine performance.
This section lists resource management practices and configurations recommended by VMware for optimal performance.
Use resource settings (that is, Reservation, Shares, and Limits) only if needed in your environment.
If you expect frequent changes to the total available resources, use Shares, not Reservation, to allocate resources fairly across virtual machines. If you use Shares and you subsequently upgrade the hardware, each virtual machine stays at the same relative priority (keeps the same number of shares) even though each share represents a larger amount of memory or CPU.
Use Reservation to specify the minimum acceptable amount of CPU or memory, not the amount you would like to have available. After all resource reservations have been met, VMware Cloud on AWS allocates the remaining resources based on the number of shares and the resource limits configured for your virtual machine.
As indicated above, reservations can be used to specify the minimum CPU and memory reserved for each virtual machine. In contrast to shares, the amount of concrete resources represented by a reservation does not change when you change the environment, for example by adding or removing virtual machines. Don't set Reservation too high. A reservation that's too high can limit the number of virtual machines you can power on in a resource pool, cluster, or host.
When specifying the reservations for virtual machines, always leave some headroom for memory virtualization overhead (as described in VMware Cloud on AWS Memory Considerations) and migration overhead. Reservations that fully commit the capacity of the cluster or of individual hosts in the cluster can prevent DRS from migrating virtual machines between hosts. As you approach fully reserving all capacity in the system, it also becomes increasingly difficult to make changes to reservations and to the resource pool hierarchy without violating admission control.
Use resource pools for delegated resource management. To fully isolate a resource pool, make the resource pool type Fixed and use Reservation and Limit.
Group virtual machines for a multi-tier service into a resource pool. This allows resources to be assigned for the service as a whole.