How much memory is written to disk on VBoxManage controlvm ... savestate?

0

I have a VM with 64 GB of RAM associated and our backup uses savestate to stop that VM during backup. During this some of the memory is written to disk, but it doesn't seem like all of it. For performance reasons I've tested with a VM using only 4 GB of RAM and in that case around 1,6 GB where written to disk.

Is there any documentation out there explaining what exactly is written to disk using savestate? Is it guest memory without caches or such? I don't have that feeling, else caches would be empty on restore, which they don't seem to be. Is the memory maybe just compressed on the fly before writing it?

I couldn't find details, but would like to be able to at least guess how many disk space is needed for a suspend if the memory of a VM is increased even further.

Thanks.

Thorsten Schöning

Posted 2016-08-25T07:37:22.650

Reputation: 523

Answers

0

If virtualbox is clever, only pages that were modified since being read from disk need be saved. The rest can simply be read again from wherever they came from in the first place. This is exactly how Windows does it in the host OS memory management.

Jamie Hanrahan

Posted 2016-08-25T07:37:22.650

Reputation: 19 777

But RAM isn't read from disk initially and even the file created during savestate is deleted after the VM is powered on again. So there's no "change base" or such on disk to compare anything against. – Thorsten Schöning – 2016-08-26T06:54:39.957

Of course RAM is read from disk initially. How else would programs get run? – Jamie Hanrahan – 2016-08-26T18:20:20.867

VirtualBox is currently saving ~45 GB of data to disk, so either it is not optimizing very well in your sense or mapped apps and libs just don't matter very much. – Thorsten Schöning – 2016-08-27T08:53:10.010