> since hypervisors can share identical pages (e.g. the Linux kernel)
With ASLR, I'm now sure the gains are that substantial.
With ASLR, I'm now sure the gains are that substantial.
Or, to put that another way: the host memory for most modern hypervisors consists of a heap of "new" pages, and then a generational garbage collector that moves said pages, if still alive, into a content-addressible "old" store.
As such, if two VMs each have a process that
1. calls malloc() 1000 times to get 1000 1-page buffers randomly spaced through their memory, the mappings different for each VM; and then
2. uses a fixed PRNG seed to generate random data [but the same random data] to fill those pages;
then those two processes' pages will still get collapsed together for a 50% savings.