snappy-start

Tool for launching a Linux process from a snapshot

  • 所有者: google/snappy-start
  • 平台:
  • 許可證: BSD 3-Clause "New" or "Revised" License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

snappy-start: Tool for process startup snapshots

snappy-start is a tool which takes a snapshot of a Linux program's process
state after it has started up. It allows multiple instances of the program
to be quickly launched from the snapshot.

This has two potential benefits:

  • Faster startup, if the program does a non-trivial amount of computation
    during startup.

  • Saving memory, because memory pages that the program writes to during
    startup will be shared between the instances.

Usage

First, build the tool by running make.sh (which also runs some tests).

To create a snapshot:

./out/ptracer ./out/elf_loader PROG ARGS...

To run the snapshot:

./out/restore

The program will be snapshotted when it first calls an unhandled
syscall, such as getpid().

Currently, the snapshot data is written to hard-coded files out_info
(containing register state and a list of memory mappings) and out_pages
(data to restore using mmap()).

Example:

$ ./out/ptracer ./out/elf_loader /usr/bin/python tests/python_example.py
$ ./out/restore
Hello world, from restored Python process

Credits

The idea for this tool comes from Kenton Varda, who proposed using a
"record/replay" approach, using ptrace() to monitor syscalls so that
they can later be replayed.

主要指標

概覽
名稱與所有者google/snappy-start
主編程語言C
編程語言C (語言數: 5)
平台
許可證BSD 3-Clause "New" or "Revised" License
所有者活动
創建於2015-06-30 17:52:56
推送於2015-09-22 19:17:19
最后一次提交2015-09-22 12:16:29
發布數0
用户参与
星數449
關注者數25
派生數23
提交數59
已啟用問題?
問題數0
打開的問題數0
拉請求數0
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?