| Advertise on warmetal.nl! Click for more information about advertising here. |
Did you find this website useful? Did I save you a lot of time? |
|
A reservation is the amount of physical RAM or the amount of CPU cycles that are reserved for the virtual machine.
Memory Reservation
If a virtual machine has a memory reservation but has not yet accessed its full reservation, the unused memory can be reallocated to other virtual machines.
Memory Reservation Used
Used for powered-on virtual machines, the system reserves memory resources according to each virtual machine’s reservation setting and overhead. After a virtual machine has accessed its full reservation, ESX Server allows the virtual machine to retain this much memory, and will not reclaim it, even if the virtual machine becomes idle and stops accessing memory. TPS will work however within reserved memory.
To recap the info stated in the Resource Management Guide, when a VM hits its full reservation, ESX will never reclaim that amount of reserved memory even if the machine idles and drops below its guaranteed reservation. It cannot reallocate that machine memory to other virtual machines.
Sets a cap on the consumption of CPU time or physical memory by the virtual machine.
When modern OS's boot, one of the first things they do is check to see how much RAM they have available then tune their caching algorithms and memory management accordingly. Applications such as SQL, Oracle and JVMs do much the same thing.
I guess the best way to explain in one line is: The limit is not exposed to the OS itself and as such the OS and the applications will suffer and so will the service provided to the user.
Since OS's and application might request RAM (sometimes even everything they can) which they don't always need it is better to decrease provisioned memory than to create an artificial boundary by applying a memory limit. The limit will more than likely impose an unneeded and unwanted performance impact. Simply lowering the amount of provisioned memory might impact performance but most likely will not as the OS will tune it’s caching algorithms and memory management accordingly.
Note: Never set a limit in a template. If, after cloning, the configured memory gets raised the limit will not automatically be raised as well resulting in affected performance.
So, are there use cases for using limits? There are:
This is an example of what happens when you set an limit under the configured memory of a Windows XP guest. I just tried a few things and performance went down really fast. I just used OS included software and a pdf reader, no office, no Firefox etc. Afterwards I tried to manipulate the figures by removing Guest Virtual Memory and by suspending and resuming the guest but this didn't really change anything significantly. If you look at the screenshots I'd say I'm impressed by the memory techniques VMware uses. There is swapping by the VMKernel but a lot of memory is compressed and shared. However, with some larger applications as office and Firefox I think there would be a lot more swapping.
Note: The ratio for dividing shares between pools using “High”, “Medium” and “Low” is 4:2:1.
Note: Expanded reservations are not released until the virtual machine that caused the expansion is shut down or its reservation is reduced.
Discussion