VMware Cloud Community
beaconfield
Contributor
Contributor
Jump to solution

Increasing memory resource limit while VM is running

Hello all,

I have a VM that is configured with 8GB of RAM. I happened to look at the Resource Allocation tab and noticed that its Memory Limit is only at 4GB. Here are my Guest Memory stats real quick:

Private: 4.09 GB

Shared: 221 MB

Swapped: 0

Compressed: 0

Ballooned: 3.28 GB

Unaccessed: 415 MB

Active: 1.04 GB

My question is this: if I were to edit the settings of this VM while it runs and increase the memory limit, what will happen to the VM? Will it slowly reduce its ballooning, or do I need to reboot it?

The Guest OS is CentOS 5.6 32-bit.

Thanks in advance!

Matt

0 Kudos
1 Solution

Accepted Solutions
weinstein5
Immortal
Immortal
Jump to solution

By setting the limit you forced the vmkernel to utilize balloon memory - by removing the limit now allows the vmkernel to provide physical ram if available which it sounds like it was available but it does take time as you learned -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful

View solution in original post

0 Kudos
9 Replies
weinstein5
Immortal
Immortal
Jump to solution

You can adjust the limit while the VM is running with no issue - my suggestion is to reset it to unlimited but do not be confused the VM will still be limited to the 8 GB assigned to the VM -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
beaconfield
Contributor
Contributor
Jump to solution

Thanks! I figured as much. So when I change the memory limit, what will it take to get the ballooning to go down? Will the VM do it on its own?

0 Kudos
MauroBonder
VMware Employee
VMware Employee
Jump to solution

check if removing limitation the vm works better. check box unlimited.

or if you need HOT ADD memory, follow to you check if your guest supports add memory HOT http://www.simonlong.co.uk/blog/2009/12/09/vmware-hot-add-memory-cpu-support/

answering your question about ballon

If the VM is not using it provides the resource to another virtual machine. This is automatic.

Please consider marking my answer as "helpful" or "correct"

Message was edited by: MauroBonder

*Please, don't forget the awarding points for "helpful" and/or "correct" answers. *Por favor, não esqueça de atribuir os pontos se a resposta foi útil ou resolveu o problema.* Thank you/Obrigado
0 Kudos
beaconfield
Contributor
Contributor
Jump to solution

Actually it looks like I seen the answer to my own question (apologies) the ballooing slowly went down to 0 MB after a couple minutes.

Thanks all!

0 Kudos
weinstein5
Immortal
Immortal
Jump to solution

By setting the limit you forced the vmkernel to utilize balloon memory - by removing the limit now allows the vmkernel to provide physical ram if available which it sounds like it was available but it does take time as you learned -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
0 Kudos
beaconfield
Contributor
Contributor
Jump to solution

Thanks David, got it! When the VM was forced to utilize balloon memory, where was it getting that from? Other VMs?

0 Kudos
beaconfield
Contributor
Contributor
Jump to solution

So for example, previously the VM was configured with 8GB of RAM and had a limit of 4GB of RAM. The vmkernel allocated 4GB of physical RAM from the host to this VM. So when it was using ballooning for the rest, where did that come from?

0 Kudos
weinstein5
Immortal
Immortal
Jump to solution

in reality if you VM was configured with a 4 GB limit and was trying to use all 8 GB assigned to it it should not have been using Balloon memory but the per VM VMkernel swap file - let me explain how virtual memory works -

The vmkernel always will use physical RAM when storing the VMs memory. To conomize on memory the vmkernel will utilize Transparent Page Sharing (TPS) storing identical pages one time. If the vmkernel is not bale to provide physical RAM it will attempt to ustilize balloon memory. Balloon memory is a component of VMware Tools. It is driver that is installed in the guest OS of the VM and allows the vmkernel to influence how the guest OS utilizes its own virtual memory. So if the vmkernel determines that it is not able to provide the necessary RAM it will activate the Balloon Driver in the VM forcing the guest OS to use its own virtual memory (e.g. swapfile or swap disk depending on the OS). If this does not free up enough memory then the vmkernel will start swapping to the per vm VMkernel swap file.

So you can see the Balloon memory is actually virtual memory inside the VM -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
beaconfield
Contributor
Contributor
Jump to solution

Makes sense, thanks again David.

Matt

0 Kudos