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 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

Linux guests are fully supported. Support for Windows guests has been added to virtio-win, but is still under development and should be consider unstable (technology-preview).

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.


virtio-win added support for virtio-mem as tech-preview, but there is no public release that contains the changes yet.

results matching ""

    No results matching ""