Linux Hypervisor in 2.6.32

Just came accross this article on Slashdot, detailing a new feature of the 2.6.32 kernel, dubbed ‘Kernel Shared Memory’.

The technology allows you to de-duplicate memory regions in virtual machines running on the hypervisor. What does this mean? It means that you can have a physical server with 10GB of RAM and have 3 times that number of VM’s running on it with each having a full 1GB of RAM. In the release notes, there’s even a reference to 52 Windows VM’s running on a single 16GB server with 1GB memory each!

This of course depends a lot on what kinds of OS’s you have running on the server (ideally you want the same OS on all of the VM’s to maximise the duplicate memory) and also how similar the memory profiles of those VM’s are. But my guess is that in most operating systems, there is a large amount of memory which is common, loaded at boot and then never written to.

From what I can tell, right now only the KVM hypervisor supports KSM, but seeing how general the technology is (it can be used by any process to de-duplicate memory pages) there’s no reason why Xen couldn’t easily make use of KSM.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.