什么混合动力暂停?

那么什么曾经发生过混合挂起,它会暂停到RAM和磁盘? 几年前它有点热,但它似乎被放弃了。 有没有办法在最近的Ubuntu版本中设置它?

有一个名为pm-is-supported程序可用于检查系统的挂起function。

在我的系统上有结果(0表示支持,1表示不支持):

 $ pm-is-supported --suspend ; echo $? 0 $ pm-is-supported --hibernate ; echo $? 0 $ pm-is-supported --suspend-hybrid ; echo $? 1 

pm-is-supported的联机帮助页表明s2both支持混合暂停。 我已经安装了s2both,可以在uswsusp包中找到,但它仍然报告不支持混合挂起。 我有一个预感,它需要重新启动,因为它更新了initrd映像。 我要重新启动并报告回来。 祝我好运

更新:运行sudo s2both将快照写入磁盘并正确挂起到RAM,但是当我按下一个键以恢复系统重启(并且没有从磁盘恢复快照)。

我认为ubuntu中的uswsusp包有问题。 splashy包(由uswsusp )与lsb-base存在文件冲突,自Jaunty以来一直保持不固定( https://bugs.launchpad.net/ubuntu/+source/splashy/+bug/328089

尝试运行sudo s2bothsudo pm-suspend-hybrid ,看看它是否适用于您的系统。

您可以按照以下问题的答案启用混合暂停:

  • 我如何默认使用pm-suspend-hybrid而不是pm-suspend?

这个问题在Google中经常出现,我觉得值得一试。 Li完美地解释了混合悬挂。 但是,s2both需要uswsusp(因此不使用in-kernel suspend),pm-hsuspend-hybrid做错了,因为它没有维护[1]。

以下是如何无缝启用混合挂起:

  • 覆盖“暂停”调用以在pm-utils中执行“hybrid_suspend”。
     %cat /etc/pm/config.d/00-use-suspend-hybrid
     #始终使用suspend_hybrid而不是暂停
     if [“$ METHOD”=“暂停”]; 然后
         METHOD = suspend_hybrid
    科幻
  • 备份/ usr / lib / pm-utils / pm-functions
  • 从这里获取补丁: https : //bugs.freedesktop.org/attachment.cgi?id = 68712
    • 此补丁启用混合挂起(如果可用)(即在内核3.6+上)
  • 使用’patch -p0’应用它,或者如果失败则手动合并它

这个方法适用于我的Sony Vaio SVS。

PS:如果将来删除文件,请在此处重新生成补丁:

 diff --git a / pm / pm-functions.in b / pm / pm-functions.in
 --- a / pm / pm-functions.in
 +++ b / pm / pm-functions.in
 @@ -316,8 +316,28 @@ if [-z“$ HIBERNATE_MODULE”] && \
     {
         [-n“$ {HIBERNATE_MODE}”] && \
         grep -qw“$ {HIBERNATE_MODE}”/ sys / power / disk && \
 + HIBERNATE_MODE_SAVE = $(cat / sys / power / disk)&& \
 + HIBERNATE_MODE_SAVE =“$ {HIBERNATE_MODE_SAVE ## * [}”&& \
 + HIBERNATE_MODE_SAVE =“$ {HIBERNATE_MODE_SAVE %%] *}”&& \
         echo -n“$ {HIBERNATE_MODE}”> / sys / power / disk
         echo -n“disk”> / sys / power / state
 + RET = $?
 + echo -n“$ HIBERNATE_MODE_SAVE”> / sys / power / disk
 +返回“$ RET”
 +}
 +网络
 +
 +#用于支持暂停两者的内核(即混合暂停)
 +#自内核3.6
 +如果[-z“$ SUSPEND_HYBRID_MODULE”] && \
 + [-f / sys / power / disk] && \
 + grep -q disk / sys / power / state && \
 + grep -q suspend / sys / power / disk; 然后
 + SUSPEND_HYBRID_MODULE =“内核”
 + do_suspend_hybrid()
 + {
 + HIBERNATE_MODE =“暂停”
 + do_hibernate
     }
 科幻

资料来源:

[1]:pm-utils比内核3.6+中的内核混合暂停更早。 pm-suspend-hybrid实际上做的是默认情况下让你的机器处于睡眠模式15分钟,然后hibernate。