Highlighted
Contributor
Contributor

Detecting Memory Over-Allocation

Hi,

I was reading about memory management, active memory, consumed memory and so on. Those conceptos are 'somehow' clear now. I understand memory over-allocation is a possible performance killer and resource wasting.

Is there a simple way (a metric? formula?) to detect virtual machines with memory-over allocation?

Message was edited by: vmroyale to remove the ALLCAPS from the subject line

Tags (1)
0 Kudos
4 Replies
Highlighted
Immortal
Immortal

There is no formula. It really comes from understanding the needs and process within your servers (physical or virtual). There are various VM optimization tools. http://vkernel.com , http://veeam.com and others. You can use things like perfmon in Windows. Some free, others as trials that you can use to get a better idea of how your VMs are using memory but you will still need to understand the use cycles. You need to look at memory (and CPU and Disk) use over time. But no formula.

-- David -- VMware Communities Moderator
0 Kudos
Highlighted
Virtuoso
Virtuoso

A big "Hey, I need more memory!" alert is when a host begins to use Balooning to satisfy memory requirements. This means that it is taking inactive memory from some VM to satisfy another VMs memory requirement.

This is also a pretty good writeup explaining memory:

Understanding Memory Resource Management in VMware ESX Server 4.1

VCDX #104 (DCV, NV) ஃ WahlNetwork.com ஃ @ChrisWahl ஃ Author, Networking for VMware Administrators
0 Kudos
Highlighted
Contributor
Contributor

Agree with Chris re: ballooning. Additionally, you should be on the lookout for any memory swapping (which will occur frequently when ballooning takes place) and should be investigated immediately, as swapping will most likely impact VM performance. 

Another area to look into when determining appropriate memory allocations is if the "large memory pages" setting has been enabled. This is set as a default in vSphere and will skew the Memory Consumed metric. There is a lot more detail about this setting as well as what the Memory Active and Memory Consumed metrics indicate about memory performance in our Memory Management Metrics for VMware Environments whitepaper.  

All in all, there is no set formula for determining correct memory allocations, but rather, a number of different factors to take into consideration when examining actual memory performance. An important thing to note is that as application-level changes, or increases/decreases in usage of the application and guest OS occur, the memory needs for a VM may also change: this means that for detecting memory over-allocation, a regular VM memory usage review should occur. We're currently working on a whitepaper that lays out how to go through such a VM memory review, which I'll post to this thread when it's complete.

Alex Rosemblat

VKernel

0 Kudos
Highlighted
Contributor
Contributor

Hey all,

Just wanted to add on to this thread. We just released the white paper referenced in the previous message concerning VM memory sizing considerations. It is available at http://bit.ly/vRAM-sizing-considerations. Hopefully it'll help clear things up with detecting over-allocation, and it offers "how-to's" in using VMware memory metrics

Alex Rosemblat

VKernel

0 Kudos