Virtual machines are resource consumers.

The default resource settings assigned during creation work well for most machines. You can later edit the virtual machine settings to allocate a share-based percentage of the total CPU, memory, and storage I/O of the resource provider or a guaranteed reservation of CPU and memory. When you power on that virtual machine, the server checks whether enough unreserved resources are available and allows power on only if there are enough resources. This process is called admission control.

A resource pool is a logical abstraction for flexible management of resources. Resource pools can be grouped into hierarchies and used to hierarchically partition available CPU and memory resources. Accordingly, resource pools can be considered both resource providers and consumers. They provide resources to child resource pools and virtual machines, but are also resource consumers because they consume their parents’ resources. See Managing Resource Pools.

ESXi hosts allocate each virtual machine a portion of the underlying hardware resources based on a number of factors:

  • Resource limits defined by the user.
  • Total available resources for the ESXi host (or the cluster).
  • Number of virtual machines powered on and resource usage by those virtual machines.
  • Overhead required to manage the virtualization.