Linux 上是否有方法可以挂起某任务,保存上下文到硬盘,重启机器后继续运行?

2016-07-19 12:34:10 +08:00
 DarryO

最近几天要断电几次,虽然每次时间都不长,但是自己做机器学习,处理一次数据要好长时间。由于程序本身生成单一文件,而且不支持中断重启,断一次电很麻烦。

Google 一下,没发现相关信息。但是感觉这个需求应该比较常见的,所以来问下。

我记得好像 Windows 是有保存系统现状到硬盘的, Linux 有类似的功能吗?

谢谢!

2503 次点击
所在节点    问与答
18 条回复
P0P
2016-07-19 12:41:46 +08:00
python 可以保存 pickle
KiriGiri
2016-07-19 12:42:28 +08:00
能想到的方法是虚拟机,虚拟机可以保持整个系统的运行状态。
ho121
2016-07-19 12:42:41 +08:00
hibernate?
wsy2220
2016-07-19 12:51:44 +08:00
systemctl hibernate
tairan2006
2016-07-19 12:55:20 +08:00
买个 ups
realityone
2016-07-19 12:57:15 +08:00
skydiver
2016-07-19 12:58:31 +08:00
虚拟机,建快照
we000
2016-07-19 13:03:42 +08:00
你说的不清楚, Windows 说的是保存系统状态, Linux 又说的是挂起某个任务.

保持系统的可以 suspend 和 hibernate, 挂起某个进程的话 CRIU 就很不错.
monnand
2016-07-19 13:19:03 +08:00
DarryO
2016-07-19 13:59:51 +08:00
@skydiver @KiriGiri 平时用不到虚拟机,为了挂起再套一层感觉有些浪费那
DarryO
2016-07-19 14:01:31 +08:00
@we000 因为是在断电情况下, suspend 好像不行吧。提到 windows 是因为 windows 的那个功能可以满足要求,不是说一定要保存整个系统状态。
DarryO
2016-07-19 14:02:18 +08:00
@monnand @we000 @realityone 谢谢,回去试试 CRIU
DarryO
2016-07-19 14:02:46 +08:00
@wsy2220 @ho121 谢谢,回去试一下
we000
2016-07-19 14:04:08 +08:00
简单的还是 hibernate 吧
DarryO
2016-07-19 14:05:08 +08:00
@tairan2006 偶尔断电,还不需要这样专业的装备..
cabbage
2016-07-19 14:14:18 +08:00
需求不大的话只是 hibernate 就够了,可以完全断电,保持之前的工作状态。只是不要忘记 swap 分区大小,千万不要小于 RAM ,不然悲剧。。
SpicyCat
2016-07-19 15:24:44 +08:00
我的 Arch 调 hibernate 就没成功过。
Tink
2016-07-19 16:17:29 +08:00
我记得很久之前有人在这里问过类似的问题,你搜搜

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

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

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

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

© 2021 V2EX