是否有一种 保存当前所有系统进程信息到硬盘上,需要的时候再进行恢复的技术呢?

2018-06-03 09:51:38 +08:00
 AllOfMe

最近使用 VirtualBox 的快速休眠的功能时,突然想知道能不能像 VirtualBox 一样,把我当前的操作系统的所有进程信息等等都序列化到一个硬盘里的文件里,需要的时候再进行恢复。
理论上我感觉是可以的,因为操作系统有时候也要将不常用的进程放到外存来提升内存的更好的使用率。
如果这个功能能够实现,那么我可以开发的时候相当于多了很多个工作环境,比如说:我在开发前端,Chromium+Vscode+各种终端 Vim+各种文档,如果我这时候希望进行另外一个与刚刚前端完全不相关的后端开发任务,而我内存又受限(或者是窗口过多,太凌乱了),那我可以先保存当前前端工作进程到一个硬盘文件,需要的时候再动态切换。

我的操作系统是 Ubuntu 16.04 LTS,想想要是能实现都有点小激动!差

6010 次点击
所在节点    程序员
49 条回复
disk
2018-06-03 20:54:21 +08:00
我觉得你想要的是类似虚拟机的快照功能。理论上先挂起到硬盘,由支持快照的文件系统进行快照,然后恢复是可行的。只是在恢复快照后之后的操作都会被抹掉就是了。
chrisqin
2018-06-03 20:58:30 +08:00
你说的确定不是 swap 就已经提供好的功能?
whileFalse
2018-06-03 21:39:22 +08:00
你需要 Cloud9 或者 Coding WebIDE
shihira
2018-06-03 21:47:23 +08:00
如果只是想快照少数的进程,你可能只是需要做 Checkpoint 的东西。

https://en.wikipedia.org/wiki/Application_checkpointing

CRIU 或者 Cryopid 应该能满足你的需要
ilylx2008
2018-06-03 22:58:21 +08:00
加条内存的事,别瞎折腾,能用钱解决,省了多少折腾的时间啊
yylucifer
2018-06-03 23:55:26 +08:00
理论上是可行的,但是不知道有没有现行的解决方案。。

理论上无非就是把物理内容和虚拟内存 dump 一份。。
yingfengi
2018-06-04 07:26:38 +08:00
加内存,加显示器
LemoAtom
2018-06-04 12:15:52 +08:00
没有,期待楼主实现
AllOfMe
2018-06-05 20:17:24 +08:00
谢谢各位的建议和帮助!如果我有空闲时间,我尝试开发一下这个功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/459951

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX