Over-allocating memory for VM guests

Posted on 2010-09-05
Last Modified: 2012-08-13

I had a query on VMWare ESX 3.5 I was hoping someone could help me with. The questions surrounds memory usage.

Let's say the ESX host has 16GB RAM.

I have four guests running on it, each with 4GB RAM assigned. Technically, this should be fine I understand, because the servers won't always be using 4GB RAM, and even if they did, then we are covered.

Now, let's say I added another guest with 4GB RAM. Even if we don't expect the all servers to use their full memory allocation at the same time, can this still cause performance degradation to the host (and therefore other guests)?

In general, what are people's recommendations in terms of allocated RAM v physical RAM?
Question by:kam_uk

Expert Comment

ID: 33607283
Memory management in VMware is much better than other products such as HyperV.  You are correct, you should run into problems.  I have about 20 VM's running on a host with 32GB of RAM.  Each of these machines have more than1.5GB allocated to them.

The only time I run into even a little problem is during backups.  I do host based backup, and depeding on the timing, it does get a little close to the limit of 32GB, BUT that is a night and no one is working anyway.  :o)

Accepted Solution

robdcoy earned 500 total points
ID: 33607312
I like to give a quick answer, then follow up with proof:

Attached you will see one of my hosts and the ammount of memory in use vs memory allocated.  This is of course during an off day.

You can reserve memory for the systems you don't want to fall below a certain point such as SQL, Exchange, Domain Controller.  I say this is possible, but I haven't had a problem leaving these at default as unlimited.  I let DRS handle moving servers around on my hosts if things get a little crazy.

Expert Comment

ID: 33607375
You might eventually have a look on the discussions at:

Hope it helps.
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.


Assisted Solution

robdcoy earned 500 total points
ID: 33607467
I would also point you to this:

It goes into great detail.  I would just read a much as you can, then play around with your VM's as I have.  Everyone has a different set of servers thus giving us all different results.  I have had good results with my cluster running it the way I described, and have pretty much fogotten about it.

From time to time, I see another host spining up and taking some VM's, then it shuts down again after the increased load.

Remember, the whole point of VMware was to prevent the use of idle hardware to include CPU, Storage, and Memory so over provisioning Memory is one of the major functions of VMware.  I hear that 4.1 will do an even better job.  I think 150 or so enhancements?  Some of the enhancements are for sure having to do with memory allocation.  I tend to wait for updates until all the bugs are found.  I just downloaded it.

Again, just play around with it (during an off time or scheduled time).  Also, I'm about to go through a server refresh and move up to systems with 64GB of RAM.  I have found that 2008 R2 LOVES memory so I am planning for it.  ;-)
LVL 28

Expert Comment

ID: 33607479
VMware has a number of memory management techniques that allow you to overcommit physical RAM while experiencing little or no impact to performance. In ESX(i) 3.5 the two main techniques are Transparent Page Sharing (TPS) and Memory Ballooning.

TPS works well when many of your guests are basically running the same OS, service pack, and patch levels - say Windows Server 2003. The idea is that many of resident memory pages contain identicle code, and VMware only has to maintain a single copy of the page in physical RAM that is shared by all of the similar virtual machines. Same holds true for several Linux, or other OS types.

Memory ballooning requires VMware tools to be installed into your guest virtual machiens. The idea is from within the guest the memory driver in VMware tools understands better the needs of the virtual machine, and is unable to release little used memory pages to ESX to be better utilized elsewhere.

So far a a general rule of thumb that is hard to define. As you can see it depends greatly on how similar your workloads within the VMs are. What you can do is from within the VI Client look at the performance tab, select the memory counters from the dropdown. Whenever you see the "Swap" counter come off of zero that is the point where you may begin to experience some performance impact.

Hope this helps
LVL 28

Expert Comment

ID: 33607491
I should proofread - make that "and is ABLE to release little used memory pages..."

Expert Comment

ID: 33607498
All in the PDF link I posted but bgoering said it much better than I did.  I would even say he put it better than VMware!  Hahaha
LVL 19

Expert Comment

by:vmwarun - Arun
ID: 33608233
Whenever you consider RAM in the virtual world, you also have to take overhead into consideration. The VMKernel needs some memory to manage the VMs which it considers as worlds, each VM runs within its own process and the VMKernel manages the same.

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
VMware 6.5:  USB devices 16 134
vCenter upgrade from 5.5 to 6.5 7 99
HP H221 HBA with P2000 trouble configuring 4 43
VMWare fails to boot after update 15 38
When converting a physical machine to a virtual machine using VMware vCenter Converter Standalone or vCenter Converter Enterprise, if an adapter type is not selected during the initial customization the resulting virtual machine may contain an IDE d…
In this article we will learn how to backup a VMware farm using Nakivo Backup & Replication. In this tutorial we will install the software on a Windows 2012 R2 Server.
Teach the user how to convert virtaul disk file formats and how to rename virtual machine files on datastores. Open vSphere Web Client: Review VM disk settings: Migrate VM to new datastore with a thick provisioned (lazy zeroed) disk format: Rename a…
Advanced tutorial on how to run the esxtop command to capture a batch file in csv format in order to export the file and use it for performance analysis. He demonstrates how to download the file using a vSphere web client (or vSphere client) and exp…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question