Project Goals

The main goal of virtio-mem is to allow for dynamic resizing of virtual machine memory. virtio-mem provides a flexible, cross-architecture memory hot(un)plug solution that avoids many limitations imposed by existing technologies, architectures, and interfaces: paravirtualized memory hot(un)plug.

On x86-64 and aarch64, memory can currently be added/removed from a virtual machine running Linux in 2 MiB granularity.

Features and important current limitations can be found in the user guide.

Architecture Support

x86-64 and aarch64 are supported. Initial s390x support has been proposed as RFC. Support for 32-bit architectures is not planned.

Guest Operating System Support

Only Linux guests are currently supported. Windows guest support is in the works, and things look promising that we might see that support upstream soon.

Additional Sources of Information

On questions, you can drop David Hildenbrand a mail (see Linux/QEMU links above for the mail address).



Linux guests support virtio-mem since v5.8-rc1.


QEMU supports virtio-mem since v5.1.0-rc1.


libvirt supports virtio-mem since v7.9.0-rc1.


virtio-mem is specified in virtio-v1.2 as "Memory Device".


Upstream cloud-hypervisor supports virtio-mem.

results matching ""

    No results matching ""