This section describes choosing how much memory to allocate to your virtual machines.

Consider the following when selecting the amount of memory you allocate to your virtual machines:

  • You should be sure to allocate enough memory to hold the working set of applications you will run in the virtual machine, thus minimizing thrashing. Because thrashing can dramatically impact performance, it is very important not to under-allocate memory.

  • On the other hand, though the performance impact of over-allocating memory is far less than under-allocating it, you should nevertheless avoid substantially over-allocating as well.

    Memory allocated to a virtual machine beyond the amount needed to hold the working set will typically be used by the guest operating system for file system caches. If memory resources at the host level become low, VMware Cloud on AWS can generally use memory ballooning (described in Memory Overcommit Techniques) to reclaim the portion of memory used for these caches.

    But over-allocating memory also unnecessarily increases the virtual machine memory overhead. While VMware Cloud on AWS can typically reclaim the over-allocated memory, it can’t reclaim the overhead associated with this over-allocated memory, thus consuming memory that could otherwise be used to support more virtual machines.