We could discuss Top 5 VM Performance Problems during long hours, but most important problems are usually storage array performance problems and not enough memory in your infrastructure. So when your hosts starts to “fight” for memory and starts to use one of the 4 memory reclamation techniques that VMware uses, then there might be time to look how to get more memory by optimizing your existing VMs.
The four memory reclamation techniques are below and they are only used (not all in once) when your infrastructure starts to be under “pressure”.
Update: Except TPS which is active all the time, and scans VMs memory periodically according to the advanced setting Mem.ShareScanTime, which specifies the desired time (in minutes) to scan the virtual machine’s entire guest memory. It's only when when contention does occur, large Memory pages (2Mb) will gets broken down into the smaller page sizes (4k). Memory will then be reclaimed by sharing those smaller pages.
The four Memory reclamation techniques that ESXi uses are:
- Transparent Page Sharing (TPS)
- Ballooning
- Compressing
- Swapping
Then further we could narrow down the different points of the virtual infrastructure where to look for problems which concerns mostly:
– Memory Contention
– Host to SAN Fabric Issues
– Storage I/O and Disk Processing Contention
– Insufficient CPU Resources
– Network Contention
How to size the vCPUs and what's the metrics to watch on the host, but also inside of the VM. Oversubscription, it can be done without much risk. But there are metrics to watch otherwise when a particular resource is finally exhausted, the performances will drop significantly.
If of course, that particular resource, has been oversubscribed and all VMs are affected which runs on that particular host.
Daniele says
Nice read!
one question , as I know the TPS is always active and not in a active contention envirnoment, can you confirm?
Vladan SEGET says
I updated the post, as you correctly pointed out that the TPS is always active, and when contention occurs, the large pages, which aren’t shared up till now, gets broken into smaller memory pages, which gets shared….
Thanks for your comment.