it-swarm-es.com

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

Entonces, ¿qué pasó con la suspensión híbrida, donde se suspendería tanto a RAM como al 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?

16
Ryan Thompson

Hay un programa llamado pm-is-supported que 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 manual de pm-is-supported sugiere que s2both admite suspensión híbrida. He instalado s2both, disponible en el paquete uswsusp 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: Ejecutando Sudo s2both escribió la instantánea en el disco y suspendió en RAM correctamente, sin embargo, cuando presioné una tecla para reanudar el sistema reiniciado (y no restableció la instantánea del disco).

Creo que hay algo mal con el paquete uswsusp en ubuntu. El paquete splashy (que es utilizado por uswsusp) tiene un conflicto de archivos con lsb-base que se ha dejado sin reparar desde Jaunty ( https://bugs.launchpad.net/ ubuntu/+ source/splashy/+ bug/328089 )

Intente ejecutar Sudo s2both o Sudo pm-suspend-hybrid, vea si funciona en su sistema.

9
Li Lo

Puede habilitar la suspensión híbrida siguiendo la respuesta a esta pregunta:

3
Jorge Castro

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.
% cat /etc/pm/config.d/00-use-suspend-hybrid
 # Siempre use suspend_hybrid en lugar de suspender 
 if ["$ METHOD" = "suspend" ]; entonces 
 MÉTODO = suspend_hybrid 
 fi 
  • Haga una copia de seguridad de/usr/lib/pm-utils/pm-functions
  • Obtenga el parche desde aquí: https://bugs.freedesktop.org/attachment.cgi?id=68712
    • Este parche permite 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/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/disco) &&\
 + 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[.____.font>+ RET = $? 
 + echo -n "$ HIBERNATE_MODE_SAVE"> /sys/power/disk[.____.font>+ return "$ RET" 
 +} 
 + fi 
 + 
 + # para núcleos que admiten la suspensión a ambos (es decir, suspensión híbrida) 
 + # desde el núcleo 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.

0
Rohan Dhruva