Limiting resources used by VMs
By default, the configured amount of memory and CPU is the amount a VM can take. In addition to resource allocations, vSphere allows specifying the maximum amount of CPU and memory a particular VM can use by configuring limits.
Limits are expressed in MHz for CPU and MB for memory. Administrators can use them to constrain user expectations or to simulate resource shortage.
Limits should be used carefully. When they are lower than the number of assigned resources, a VM is not allowed to use more than the limit. At the same time, the guest OS is not aware of limits; it can see only the allocated resources. Once it hits the limit, vSphere will not allow it to use more resources. In this situation, VMkernel will try to reclaim the memory from the guest OS. Eventually, this may result in excessive swapping, which, in turn, results in performance degradation.
Note
Hypervisor swapping refers to a situation when the hypervisor swaps out the guest physical memory directly...