VAS-CRIU is built for fast in-memory checkpoint/restore for processes. It snapshots memory state of a process into a process indepedent address space which can used for restore.
Dependencies of VAS-CRIU
- Linux 4.10+ kernel with support Multiple Virtual Address Spaces(MVAS)
- libmvas, a library containing wrappers for VAS system calls
- mvas CLI, a command line to tool to list, create, remove VASes
VAS-CRIU supports the same CLI options as CRIU.
Eg: $>criu dump -t PID -vvv dump.log
List VASes in the system, each new checkpoint will be stored in a VAS with a unique ID. This VAS ID is store in mm.img file.
$>mvas -la /sys/kernel/vas/1/ user: 0 mode: 0600 group: 0 name: CP-24694-4576337492
/sys/kernel/vas/2/ user: 0 mode: 0600 group: 0 name: CP-3374-4576337560
$>criu restore -vvv restore.log
An utility to checkpoint/restore tasks. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.
The project home is at http://criu.org.
Pages worth starting with are:
- Kernel configuration, compilation, etc
- A simple example of usage
- More sophisticated example with graphical app
- How to submit patches;
- Send all bug reports to mailing list;
- Spread the word about CRIU in social networks;
