下一篇:Checkpoint/Restore In Userspace(CRIU)使用細節
1.安裝
- 方法一:從源碼安裝,個人不推薦,雖然最后成功了,但是浪費時間,有興趣可參考 Ubuntu CRIU安裝
- 方法二:使用Linux命令:
yum install criu
2.檢測
- 使用命令:
criu check
出現Looks good.字樣表示安裝成功
3.使用
- 編寫簡單小程序test.c
vim test.c #使用vim編輯C程序
#include<stdio.h> #include<unistd.h> //代碼沒有跑過,大概就是這個樣子 int main(){ int i = 0; for(;i<100;i++){ printf("第%d次\n",i); sleep(1); }
return 0; }:wq #保存並退出文件編輯
- 創建文件夾,命名checkpoint(命名可以隨便寫)
mkdir checkpoint
- 使用命令創建檢查點
criu dump -D checkpoint -j -t 1446 #程序id一定要使用自己的程序id
以下為命令格式
criu dump -D $dir -j -t $pid #設置檢查點命令格式
-D 指明檢查點文件存儲位置,可以使用--images-dir代替
-j 表明被檢查的是命令行程序
-t 指明被檢查程序的id該命令在程序跑起來之后使用,其中$dir是存儲檢查點文件的文件夾路徑,此處為新建的checkpoint文件夾路徑
$pid就是跑起來的程序 ID&pid獲取方法,使用命令ps -ef | grep test
以下為命令格式
ps -ef | grep $demo_name
$demo_name就是你新建程序的名字,此處為test
到此為止,沒有出錯的話,在 checkpoint文件夾內,將出現很多 img文件,這些文件記錄了程序的狀態,在恢復時使用 - 程序的重新啟動,以上三步,對一個運行的程序創建了快照,若要從快照中恢復程序運行,使用命令
criu restore -D checkpoint -j
命令格式
criu restore -D $dir -j #重現程序命令 restore 重現命令 -D 指明檢查點文件夾 -j 指明恢復的程序是命令行程序
$dir為快照文件存儲路徑,此處為checkpoint