In order to save memory and boot time, QEMU 4.2 and later versions are able to
mmap(2) the kernel and initrd specified with -kernel
and -initrd
parameters.
This approach allows us to avoid reading and copying them into a buffer,
saving memory and time.
The memory pages that contain kernel and initrd are shared between multiple VMs using the same kernel and initrd images. So, when many VMs are launched we can save memory by sharing pages, and save time by avoiding reading them each time from the disk.
[Read More]