Checkpoint/Restore in Userspace(CRIU)安装和使用

下一篇:Checkpoint/Restore In Userspace(CRIU)使用细节

1.安装

  1. 方法一:从源码安装,个人不推荐,虽然最后成功了,但是浪费时间,有兴趣可参考   Ubuntu CRIU安装 
  2. 方法二:使用Linux命令:
    yum install criu 

2.检测

  1. 使用命令:
    criu check

    出现Looks good.字样表示安装成功  

3.使用

  1. 编写简单小程序test.c
    vim test.c  #使用vim编辑C程序
    #include<stdio.h>
    #include<unistd.h>
    //代码没有跑过,大概就是这个样子
    int main(){
      int i = 0;
      for(;i<100;i++){
             printf("第%d次
    ",i);
             sleep(1);
         }
    return 0; }
    :wq    #保存并退出文件编辑
  2. 创建文件夹,命名checkpoint(命名可以随便写)
    mkdir  checkpoint
  3. 使用命令创建检查点
    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文件,这些文件记录了程序的状态,在恢复时使用
  4. 程序的重新启动,以上三步,对一个运行的程序创建了快照,若要从快照中恢复程序运行,使用命令
    criu   restore   -D   checkpoint    -j

    命令格式

    criu   restore   -D   $dir          -j        #重现程序命令
    restore  重现命令
    -D       指明检查点文件夹
    -j       指明恢复的程序是命令行程序

    $dir为快照文件存储路径,此处为checkpoint

原文地址:https://www.cnblogs.com/PPWEI/p/9577281.html