Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce freeze time when suspending a VM #5683

Open
benjamreis opened this issue Jun 12, 2024 · 2 comments
Open

Reduce freeze time when suspending a VM #5683

benjamreis opened this issue Jun 12, 2024 · 2 comments

Comments

@benjamreis
Copy link
Contributor

For now when a VM is suspended, its freezed for whole suspend call. This can create long downtime for VM when we checkpoint them as the checkpoint triggers a suspension.

This is cause because the emu manager is not called with the live flag.
Would it be a good idea to give the flag (as we do for live migration) so that during the suspension AMAP RAM is copied on the suspend VDI before the VM freezes and the downtime would only happen when copying the last part of the RAM.

What do you guys think?

@cf-tubaf
Copy link

To explain this issue further: Taking a Snapshot for a VM with RAM included, freezes the whole VM for the Period of time the RAM is saved to disk. It would be better to do it like in live migration to create pointers, copy the RAM when the Vm is still running and not freezed and do iterations to copy the rest of the RAM so that the downtime of the VMs is minimized to only 1s for instance instead of 3 Minutes.

@psafont
Copy link
Member

psafont commented Jun 13, 2024

There's a big issue to fix before it can work:
When creating the suspend VDI, its size is estimated. This can't be done with the live flag because it's an iterative process that depends on guest activity, meaning it can't be estimated at all.

I'm not sure how this may be solved, maybe some VDI resizing is needed, or deduplication in the VM memory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants