¿A dónde se suspenden los híbridos?

16

Entonces, ¿qué pasó con la suspensión híbrida, donde se suspendería tanto en la RAM como en el disco? Hace unos años hacía un poco de calor, pero parece que se cayó. ¿Hay alguna forma de configurar esto en versiones recientes de Ubuntu?

Ryan C. Thompson
fuente
¿Cuál es el punto de suspender híbrido ??
LassePoulsen
55
La suspensión híbrida es cuando la computadora suspende la suspensión en el disco y la suspensión en la RAM al mismo tiempo. Por lo tanto, obtiene la rápida velocidad de reanudación de la suspensión a RAM, pero no pierde su sesión si pierde energía o se queda sin batería. Entonces, en principio, es mejor que suspender a ram o suspender a disco solo. Es por eso que me pregunto por qué parece haber desaparecido de las listas de características de las distribuciones modernas de Linux.
Ryan C. Thompson, el
En la pestaña "En batería" en el administrador de energía, veo una opción para "Cuando la energía de la batería es críticamente baja: Hibernar", ¿quizás eso elimina la necesidad de una suspensión híbrida?
Jorge Castro
1
@Jorge: Otro caso de uso es si necesita quitar la batería de su computadora portátil (o desconectar su PC de escritorio suspendida) por alguna razón. Si estás en suspensión híbrida, no importará. Si está en suspensión regular a RAM, tendría que reanudar y luego suspender en el disco.
Ryan C. Thompson

Respuestas:

9

Hay un programa llamado pm-is-supportedque puede usarse para verificar las capacidades de suspensión del sistema.

En mi sistema, aquí están los resultados (0 significa compatible, 1 significa no compatible):

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

La página de pm-is-supportedmanual de sugiere que s2both admite suspensión híbrida. He instalado s2both, disponible en el uswsusppaquete, pero aún informa que la suspensión híbrida no es compatible. Tengo el presentimiento de que necesita reiniciar porque actualizó la imagen initrd. Voy a reiniciar e informar de nuevo. Deséame suerte .

Actualización: Running sudo s2bothescribió la instantánea en el disco y la suspendió en la RAM correctamente, sin embargo, cuando presioné una tecla para reanudar el sistema reinició (y no restauré la instantánea desde el disco).

Creo que hay algo mal con el uswsusppaquete en ubuntu. El splashypaquete (que es utilizado por uswsusp) tiene un conflicto de archivos lsb-baseque no se ha corregido desde Jaunty ( https://bugs.launchpad.net/ubuntu/+source/splashy/+bug/328089 )

Intente ejecutar sudo s2botho sudo pm-suspend-hybrid, vea si funciona en su sistema.

Li Lo
fuente
Probé s2bothy obtuvo los mismos resultados que usted. También intenté cambiar a un kernel de tuxonice y decirle a pm-utils que usara tuxonice, y luego usar la suspensión híbrida de tuxonice vía pm-suspend-hybrid. La pantalla nunca se encendió cuando reanudé, pero Control + Alt + Delete funcionó para reiniciar, por lo que creo que realmente funcionó, pero no se pudo encender la pantalla.
Ryan C. Thompson
Supongo que no es compatible.
Ryan C. Thompson
0

Esta pregunta surge con suficiente frecuencia en Google que creo que vale la pena toparse. Li explica la suspensión híbrida perfectamente. Sin embargo, s2both requiere uswsusp (por lo tanto, no utiliza la suspensión en el núcleo), y pm-hsuspend-hybrid hace lo incorrecto porque no se mantiene [1].

Aquí se explica cómo habilitar la suspensión híbrida sin problemas:

  • Anule la llamada "suspender" para hacer un "híbrido_suspendido" en pm-utils.
    /etc/pm/config.d/00-use-suspend-hybrid% cat
    # Utilice siempre suspend_hybrid en lugar de suspender
    if ["$ METHOD" = "suspender"]; luego
        MÉTODO = suspender_híbrido
    fi
  • Haga una copia de seguridad de / usr / lib / pm-utils / pm-functions
  • Obtener el parche desde aquí: https://bugs.freedesktop.org/attachment.cgi?id=68712
    • Este parche habilita la suspensión híbrida si está disponible (es decir, en núcleos 3.6+)
  • Aplíquelo usando 'patch -p0' o combínelo manualmente si eso falla

Este método funciona para mí en mi Sony Vaio SVS.

PD: Reproduciendo el parche aquí en caso de que el archivo se elimine en el futuro:

diff --git a / h / pm-functions.in b / h / 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 "disco"> / sys / power / state
+ RET = $?
+ echo -n "$ HIBERNATE_MODE_SAVE"> / sys / power / disk
+ Retorno "$ RET"
+}
+ fi
+
+ # para núcleos que admiten la suspensión a ambos (es decir, suspensión híbrida)
+ # Desde el kernel 3.6
+ if [-z "$ SUSPEND_HYBRID_MODULE"] && \
+ [-f / sys / power / disk] && \
+ grep -q disk / sys / power / state && \
+ grep -q suspend / sys / power / disk; luego
+ SUSPEND_HYBRID_MODULE = "kernel"
+ do_suspend_hybrid ()
+ {
+ HIBERNATE_MODE = "suspender"
+ do_hibernate
    }
 fi

Fuentes:

[1]: pm-utils es anterior a la suspensión híbrida en el núcleo disponible en los núcleos 3.6+. Lo que realmente hace pm-suspend-hybrid es poner su máquina en modo de suspensión durante 15 minutos de forma predeterminada, y luego hibernar.

Rohan Dhruva
fuente