I have a large number of high memory vm's. As such, I am always watching memory allocation. We have a number of excessively allocated VM's, and its a constant battle to keep my app people from overreaching for resources.
I have had some strange cases where a busy host will show a lot of ballooning, but they aren't paging internally, nor is my host granting memory above physical memory. I ran a test recently. I took a linux vm and set it to use 12GB of ram and 8vcpu's. I placed it on a relatively idle box and ran some tests.
I used a ram disk and copied some large files into it. I expected to see my vm's granted memory rise and squeeze up to the hosts physical memory. I was mainly looking for the effects of when one hosts begins to use a lot of memory.
Here is the Hosts view of memory. The 40G mark is at the top of the graph. As you can see, when I start to copy files into the ramdisk, the granted line rises breifly, Active memory rises, but then the ballon kicks in and Granted memory falls. All the while, the page file on my linux host is ZERO. Is this ballooning really going to the .vswp file?, if so, why does Memory Swap used also flat lining just above 0 the whole time.
Here is the linux host, its graph is all over the board. First, Granted and Consumed seem to be almost identical all the way. When Active memory spikes, Granted and Consumed Plummet? My Balloon is higher than my Granted and Consumed memory and my VM's swap file is still ZERO.
1. I was under the impression, that a memory load would cause the other VM's which were idle to balloon and page do disk, not the busy host itself.
2. If I am ballooning more memory than I have granted and consumed, and my swap file is ZERO, where is this going? The linux Free command shows as if it is all sitting in RAM.
3. Why is Granted memory not going up, there is many gigabytes left on the host.
4. VM doc says ballooning really shouldnt occur in until high overallocation occurs, and physical memory runs out, but it appears that in this and in other production cases, that VMware can start ballooning before its technically necessary to do so.
the above is the result of a test, I have recently had similar results in my production, where we have several pre-production vms sitting idle with a lot of ram. Then one of them gets busy and starts to balloon like mad. for example, I may have 6 8G servers and they all use 500MB consumed with 150M active. Then one host kicks in and its slow as heck, but my esx host shows 20% usage.