混合动力是否会暂停?


16

那么混合挂起发生了什么,它将同时挂接到RAM和磁盘上呢?几年前有点热,但似乎已被删除。有什么方法可以在最新的Ubuntu版本中进行设置吗?


混合暂停有什么意义?
LassePoulsen

5
混合挂起是指计算机同时执行对磁盘的挂起和对RAM的挂起。因此,您可以获得挂起至RAM的快速恢复速度,但如果断电或电池用尽,也不会丢失会话。因此,从原则上讲,它比单独使用“悬浮到内存”或“悬浮到磁盘”要好。这就是为什么我想知道为什么它似乎已从现代Linux发行版的功能列表中消失的原因。
瑞安·汤普森

在电源管理器的“使用电池供电”选项卡中,我看到一个选项“电池电量严重不足时:休眠”,也许这消除了混合挂起的需要?
豪尔赫·卡斯特罗

1
@Jorge:另一个用例是,由于某种原因,如果您需要卸下笔记本电脑电池(或拔下悬挂的台式PC)。如果您处于混合暂停状态,那就没关系了。如果您处于常规的RAM暂挂状态,则必须先恢复然后再暂挂到磁盘。
瑞安·汤普森

Answers:


9

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

在我的系统上,结果如下(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,但是当我按下一个键以恢复系统重新引导(并且没有从磁盘恢复快照)时。

我认为uswsuspubuntu中的软件包有问题。自Jaunty(https://bugs.launchpad.net/ubuntu/+source/splashy/+bug/328089)以来,该splashy软件包(由所使用uswsusp)存在文件冲突,lsb-base尚未解决。

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


我尝试过s2both并得到与您相同的结果。我还尝试了切换到Tuxonice内核,并告诉pm-utils使用Tuxonice,然后使用通过Tuxonice Hybrid挂起pm-suspend-hybrid。当我恢复时,屏幕从未打开过,但是Control + Alt + Delete可以重新启动,所以我认为它确实可以工作,但是无法打开屏幕。
瑞安·汤普森

我猜不支持。
瑞安·汤普森


0

这个问题在Google中经常出现,我认为值得一提。李解释混合动力悬挂完美。但是,s2both都需要uswsusp(因此不使用内核内挂起),而pm-hsuspend-hybrid则做错了事,因为它没有维护[1]。

以下是启用混合无缝挂起的方法:

  • 覆盖“ suspend”调用以在pm-utils中执行“ hybrid_suspend”。
    %cat /etc/pm/config.d/00-use-suspend-hybrid
    #始终使用suspend_hybrid而不是suspend
    如果[“ $ 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“磁盘”> / sys / power / state
+ RET = $?
+ echo -n“ $ HIBERNATE_MODE_SAVE”> / sys / power / disk
+返回“ $ RET”
+}
+ fi
+
+#对于同时支持暂停和暂停的内核(即混合暂停)
+#自内核3.6起
+ if [-z“ $ SUSPEND_HYBRID_MODULE”] && \
+ [-f / sys / power / disk] && \
+ grep -q磁盘/ sys / power / state && \
+ grep -q挂起/ sys / power / disk; 然后
+ SUSPEND_HYBRID_MODULE =“内核”
+ do_suspend_hybrid()
+ {
+ HIBERNATE_MODE =“ suspend”
+ do_hibernate
    }
 科幻

资料来源:

[1]:pm-utils早于内核3.6+中可用的内核内混合暂停。pm-suspend-hybrid的实际作用是,默认情况下将计算机置于睡眠模式15分钟,然后进入休眠状态。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.