Quando o híbrido é suspenso?

16

Então, o que aconteceu com o hybrid suspend, onde ele suspenderia tanto para a RAM quanto para o disco? Foi meio quente há alguns anos atrás, mas parece que foi descartado. Existe alguma maneira de configurá-lo em versões recentes do Ubuntu?

    
por Ryan Thompson 08.08.2010 / 20:09

3 respostas

9

Existe um programa chamado pm-is-supported que pode ser usado para verificar os recursos de suspensão do sistema.

No meu sistema, aqui estão os resultados (0 significa suportado, 1 significa não suportado):

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

A página manpage de pm-is-supported sugere que s2both suporta suspensão híbrida. Eu instalei o s2both, disponível no pacote uswsusp , mas ele ainda relata que a suspensão híbrida não é suportada. Eu tenho um palpite de que ele precisa de uma reinicialização porque atualizou a imagem do initrd. Eu vou reiniciar e reportar de volta. Desejo-me sorte .

Atualização: A execução de sudo s2both escreveu o instantâneo no disco e suspendeu para a RAM corretamente, no entanto, quando pressionei uma tecla para reiniciar o sistema (e não restaurei o instantâneo do disco).

Eu acho que há algo errado com o pacote uswsusp no Ubuntu. O pacote splashy (que é usado por uswsusp ) tem um conflito de arquivos com lsb-base , que não foi corrigido desde Jaunty ( link )

Tente executar sudo s2both ou sudo pm-suspend-hybrid , veja se funciona no seu sistema.

    
por Li Lo 10.08.2010 / 00:32
3

Você pode ativar a suspensão híbrida seguindo a resposta a esta pergunta:

por Jorge Castro 03.06.2012 / 22:29
0

Esta questão surge com frequência suficiente no Google e acho que vale a pena bater. Li explica híbrido suspender perfeitamente. No entanto, s2both requer uswsusp (portanto, não usa suspensão no kernel), e pm-hsuspend-hybrid faz a coisa errada porque não é mantida [1].

Veja como ativar a suspensão híbrida sem problemas:

  • Substitua a chamada "suspender" para fazer um "hybrid_suspend" em pm-utils.
    % cat /etc/pm/config.d/00-use-suspend-hybrid
    # Always use suspend_hybrid instead of suspend
    if [ "$METHOD" = "suspend" ]; then
        METHOD=suspend_hybrid
    fi
  • Faça um backup de / usr / lib / pm-utils / pm-functions
  • Obtenha o patch daqui: link
    • Este patch ativa a suspensão híbrida, se disponível (ou seja, nos kernels 3.6 +)
  • Aplique-o usando 'patch -p0' ou mescle-o manualmente se isso falhar

Este método funciona para mim no meu Sony Vaio SVS.

PS: Reproduzindo o patch aqui caso o arquivo seja excluído no futuro:

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
+       return "$RET"
+   }
+fi
+
+# for kernels that support suspend to both (i.e. hybrid suspend)
+# since kernel 3.6
+if [ -z "$SUSPEND_HYBRID_MODULE" ] && \
+   [ -f /sys/power/disk ] && \
+   grep -q disk /sys/power/state && \
+   grep -q suspend /sys/power/disk; then
+   SUSPEND_HYBRID_MODULE="kernel"
+   do_suspend_hybrid()
+   {
+       HIBERNATE_MODE="suspend"
+       do_hibernate
    }
 fi

Fontes:

[1]: pm-utils antecede a suspensão híbrida no kernel disponível em kernels 3.6+. O que o pm-suspend-hybrid faz é colocar sua máquina no modo de suspensão por 15min por padrão e, em seguida, hibernar.

    
por Rohan Dhruva 13.09.2013 / 00:36