Hi all,
is there a rough figure how much memory can be overcommited "safely" (i.e. without "too much" of an impact on performance)? (Double quotes around "safely" and "too much" because I am aware that these are highly subjective measures ).
Any links would be appreciated as well as some figures from personal experience.
Many thanks in advance,
SilentGuy
Well it really depends. First off you should only give your VM's the amount of memory they are actually going to need. Alot of people give VM's too much memory. Do some analysis of your VM's and see what they are actually using.
Next you can overcommitment your VM's but if you still have plenty of host memory available they will not actually start swapping until the host memory is exhausted. ESX has some great memory saving features to conserve host memory and prevent swapping. If you use memory reservations however you are dedicating physical host memory to a VM, if you use a 100% memory reservation you do not get the memory page sharing features that ESX uses to conserve memory.
When a host is overcommited and starts swapping to the vswp files, the biggest impact is to your VM's performance that is being swapped. You can make sure certain VM's are not effected by using reservations and shares. So I would say there is not necessarily any "safe" overcommitment. Any overcommitment is going to effect a VM's performance, they key is to only have VM's that you can afford to start swapping be overcommited.
Here's some links...
Host Mem and Guest Mem % - http://www.vmware.com/community/thread.jspa?messageID=620581򗠥
http://www.stanford.edu/~stinson/cs240/cs240_1/revs/esx.txt
The Role of Memory in ESX Server 3 - http://www.vmware.com/pdf/esx3_memory.pdf
Memory resource management in Vmware ESX Server - http://www.vmware.com/pdf/usenix_resource_mgmt.pdf
Understanding memory usage in Windows 2000 - http://www.microsoft.com/technet/prodtechnol/windows2000serv/tips/w2mem.mspx
Operating System Extensions to Support Host Based Virtual Machines - http://www.eecs.umich.edu/techreports/cse/2002/CSE-TR-465-02.pdf
Memory performance - http://www.vmware.com/community/thread.jspa?threadID=65293
Memory Shares/Limits/Reservations - http://www.vmware.com/community/thread.jspa?threadID=73411
RAM, Virtual Memory, Pagefile and all that stuff - http://support.microsoft.com/?kbid=555223
Understanding the Impact of RAM on Overall System Performance - http://www.windowsnetworking.com/articles_tutorials/Understanding-Impact-RAM-Overall-System-Performa...
RAM, Virtual Memory, Pagefile and all that stuff - http://members.shaw.ca/bsanders/WindowsGeneralWeb/RAMVirtualMemoryPageFileEtc.htm
Pagefile thread - http://www.vmware.com/community/thread.jspa?threadID=79080&messageID=617876#617876
fyi...if you find this post helpful, please award points using the Helpful/Correct buttons...thanks
I personally don't like over committing. Memory is one of the most crucial things for ESX to run stable (always run burn in tests for the memory as well).
One golden rule, don't save on DIMM modules
I tend not to overcommit memory, but it's not always possible to do so. What I like to do for clients that are going to do this is use resource groups for Production/Dev/etc... That way you can always allow for the vmkernel to allocate resources, but once contention happens (aka overcommit) your groups will get resources based on your business priorities. Just keep in mind before you overcommit, that you give the VMs access to only what they really need.
Production - I don't overcommit
D/R - I do
I like it that way. No micro-managing VMs all day long to ensure they perform ok.
Dave
Hi all,
many thanks for your input, even though it's not I wanted to hear (but somehow expected...).
So I will try to avoid overcommittig memory, but I guess I will have to (at least to some extent).
Regards,
SilentGuy