I've been tasked with speeding up our VM usage. At the moment it takes an individual instance of our VM about 30 seconds to totally boot to a logon screen that a user an interact with. We are using qemu/kvm on a Centos7 infrastructure. rpm-qa shows: qemu-kvm 1.5.3 qemu 2.0.0.1 and all the supporting packages from yum What I am looking to be able to do is to take our guest OS to the logon screen, suspend the VM, and save the VM image with state. That way when I need to spin up a new VM it would begin by resuming at the logon state. So far I've tried the following 1. suspend at logon screen, qemu-img to newfile , virsh start newfile (can see kvm go through boot/post) 2. suspend at logon, virt-clone to new file, virsh start (os boots/post) 3. take running snapshot at logon, revert to snapshot (kvm appears to boot machine then apply snapshot, more like an overlay, plus file size goes up by 1/3) Is there a method I can use then to save a VM with its memory/file state, clone the file, and spin up a new instance with the saved state? There doesn't need to be any networking an hostname is immaterial so I'm not worried about network/hostname conflicts. Thanks for reading and any help.