>> VBoxManage controlvm "$VM_NAME" acpipowerbutton Or run whatever is VBox's command to pause and save the VM state. Sure, writing out the memory state file(s) takes a while if you have several VMs with lots of memory assigned, but at least it's deterministic *and* you avoid yanking the rug out from underneath the VMs.