Project Goals

The basic idea of virtio-mem is to provide a flexible, cross-architecture memory hot(un)plug solution that avoids many limitations imposed by existing technologies, architectures, and interfaces. The target use case is dynamic VM resizing.

The initial focus is x86-64 with Linux guests. Windows guest support is in the works. On x86-64, memory can be added/removed from a virtual machine running Linux in 4 MB chunks.

Features and important current limitations can be found in the user guide. As more and more features are getting implemented and issues are getting sorted out, virtio-mem can be considered tech-preview.

Architecture Support

x86-64 is supported. arm64 support is in the works. Initial s390x support has been proposed as RFC. Support for 32-bit architectures is not planned.

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. Prefer using latest upstream Linux.


QEMU supports virtio-mem since v5.1.0-rc1. Prefer using upstream QEMU.


Libvirt does not support virtio-mem for QEMU yet upstream. Support is in the works, implemented by Michal Privoznik.


A virtio spec has been accepted for inclusion into virtio-v1.2. It has been merged into the upstream repository.


Upstream cloud-hypervisor supports virtio-mem.

results matching ""

    No results matching ""