Jump to: navigation, search

Memory changes tracking

128 bytes added, 00:18, 30 August 2016
misc fixes
: When you take a series of dumps from a process tree, it is a very good optimization not to dump ''all'' the memory every time, but get only those memory pages that has changed since previous dump
; Smaller freeze time for big Applicationsapplications
: When a task uses a LOT of memory, dumping it may take time and during all this time this task should be frozen. To reduce the freeze time we can
:* get memory from task and start writing it in images:* freeze task and get only changed memory from it
; [[Live migration]]
: When doing live migration , a lot of time takes is used by the procedure of copying tasks' memory on remote to the destination host. And yet again, Note that the processes are frozen during this that time process is frozen. Acting like in the previous example also reduces the freeze time, i.e. -- the live migration becomes really Livemore live.
== How we track memory changes ==
In order to find out what which memory pages in memory has have changed, we [ patched] the kernel. Tracking the memory changes consists of two steps:
* Tell the kernel that we want it to keep track of memory changes by particular task by writing 4 into <code>/proc/$pid/clear_refs</code> file.
First of all, the
#criu check
command (without the <code>--ms</code> option) should sat, that everything is OK. The thing is that the soft-dirty tracker is not yet merged upstream, thus you should make sure, that you're using the properly patched kernel.
:This action dumps only part of information about processes and does this keeping tasks frozen for minimally possible time. The images generated by pre-dump cannot and should not be used for restore. After this action the proper <code>dump</code> should be performed with properly configured <code>--prev-images-dir</code> path.
== See also the "==* [[Live migration]]* [[Incremental dumps]]* [[Memory dumping and restoring]]" article, section "#Advanced C/R"]]
== External links ==* [[Category:Under the hood]]
[[Category: Memory]]
[[Category: Live migration]]

Navigation menu