docker start from checkpoint is slow due to unnecessary image file copies #40644
Labels
area/checkpoint
Related to (experimental) checkpoint/restore (CRIU)
area/performance
kind/experimental
Description
docker start from checkpoint is slow due to unnecessary image file copies.
It took me 34s to start from checkpoint, but the process of restore only took less than 2s. Unnecessary file copy process took 32s.
I read the source code and found the problem.
moby/libcontainerd/remote/client.go
Line 177 in bcc50d6
When create new task, another tmp dir will be created to store checkpoint files. This is another unnecessary copy.
https://github.com/containerd/containerd/blob/92cfc5b1fb91e0e09bd9ef18de082cd648e2bdc0/services/tasks/local.go#L144
And because the file is read and written using its own framework. This will make this process slower.
As far as I understand, these copies are unnecessary. We could have recovered from the original location, which would save a lot of time.
The text was updated successfully, but these errors were encountered: