• BLCR技术初探


    BLCR技术到底是什么技术?我没空和你乱扯,自己去看该官方网站的介绍:http://crd.lbl.gov/groups-depts/ftg/projects/current-projects/BLCR

    首先要下载BLCR的源代码,可以在上面提到的官网上下载,现在最新版本是0.8.5的,目前已经有RPM安装包,但我是下载的源代码包:blcr-0.8.5.tar.gz。编译安装blcr如下所示

        % tar xvzf blcr-0.8.5.tar.gz
        % cd blcr-0.8.5
        % mkdir builddir
        % cd builddir
        % ../configure 
        % make
        % make install
      %insmod /usr/local/lib/blcr/3.2.0-29-generic/blcr_imports.ko
       %insmod /usr/local/lib/blcr/3.2.0-29-generic/blcr.ko
       %ldconfig


    说下最后一个命令ldconfig,官网上说现在的linux系统一般会把一些动态库存放在高速缓存中,因为安装BLCR的时候有加入动态库,所以要显示使用ldconfig命令,
    将新加入的动态库也放进高速缓存卓中。
       然后自己写个测试程序:testblcr.c
    #include <stdio.h>  
      
    int main()  
    {  
        int number = 0,i;  
        printf("start process
    "); 
      
        for (i = 0; i < 100; i++) {    
            printf("%d
    ", number);  
            sleep(1);  
            number++;
        }  
      
        return 0;  
    }

    然后正常编译该程序 gcc testblcr.c -o testblcr

    然后让blcr来运行我们的程序:  

      % cr_run  ./testblcr&

    让程序在后台进行,获得进程的PID

    然后生成进程运行快照:

          % cr_checkpoint <PID>

    该命令会在当前目录生成快照文件context_<PID>

    用kill命令杀死该进程。

    然后从快照中继续运行进程:

         % cr_restart context_<PID>

    你会发现该进程并没有从头执行而是从快照文件保存的进程执行点中开始继续执行。



  • 相关阅读:
    VC编译器
    位域
    位域2
    函数调用时刻的堆栈情况
    字节对齐2
    Python学习笔记(6)while循环、while嵌套
    Python学习笔记(7)字符串Str
    Python学习笔记(3)输出、输入、输出输入综合小练习
    Python学习笔记(1)Python介绍、解释器、第一个python程序、注释
    Python学习笔记(4)运算符、运算符小练习
  • 原文地址:https://www.cnblogs.com/Blue-Moon/p/3865737.html
Copyright © 2020-2023  润新知