For the original and writeup of the article, do look at Using KSM (Kernel Samepage Merging) with KVM. There is a correponding pdf article Increasing Virtual Machine Density with KSM (pdf) by QUMRANET
In short, from the article
Kernel SamePage Merging is a recent linux kernel feature which combines identical memory pages from multiple processes into one copy on write memory region. Because kvm guest virtual machines run as processes
under linux, this feature provides the memory overcommit feature to kvm so important to hypervisors for more efficient use of memory……
Pointer 1. Verifying Kernel KSM Support
# grep KSM /boot/config -'uname -r'
You should see something like this if KSM is enabled
CONFIG_KSM=y
You should also see a directory for KSM in
To verify, type the following command
# cat /sys/kernel/mm/ksm/max_kernel_pages
2000
Pointer 3: Verifying KVM Support for Samepage Merging
If you don’t see these lines in your exec.c file then your kvm process will still run fine but but it won’t take advantage of KSM.
#ifdef MADV_MERGEABLE madvise(new_block->host, size, MADV_MERGEABLE); #endif
Pointer 4 – Run multiple simiar guests
…….With multiple virtual machines running, you can verify that KSM is working by inspecting the following file to see how many pages are being shared between your kvm guests.
If the value is greateer than zero, KSM is used
# cat /sys/kernel/mm/KSM/pages_sharing