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
用户参与
星数450
关注者数26
派生数23
提交数59
已启用问题?
问题数0
打开的问题数0
拉请求数0
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?