it-swarm.it

Quale sospensione ibrida?

Quindi, cosa è mai successo alla sospensione ibrida, dove avrebbe sospeso sia RAM sia il disco? Faceva un po 'caldo qualche anno fa, ma sembra che sia caduto. C'è un modo per configurarlo nelle recenti versioni di Ubuntu?

16
Ryan Thompson

Esiste un programma chiamato pm-is-supported che può essere utilizzato per verificare le capacità di sospensione del sistema.

Sul mio sistema ecco i risultati (0 significa supportato, 1 significa non supportato):

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

La manpage di pm-is-supported suggerisce che s2both supporta la sospensione ibrida. Ho installato s2both, disponibile nel pacchetto uswsusp ma riporta comunque che la sospensione ibrida non è supportata. Ho la sensazione che abbia bisogno di un riavvio perché ha aggiornato l'immagine initrd. Riavvio e riporto la segnalazione. Augurami buona fortuna .

Aggiornamento: L'esecuzione di Sudo s2both ha scritto l'istantanea su disco e sospesa correttamente su RAM, tuttavia quando ho premuto un tasto per riprendere il riavvio del sistema (e non ripristinare l'istantanea dal disco).

Penso che ci sia qualcosa di sbagliato nel pacchetto uswsusp in Ubuntu. Il pacchetto splashy (utilizzato da uswsusp) ha un conflitto di file con lsb-base che non è stato corretto da Jaunty ( https://bugs.launchpad.net/ ubuntu/+ source/splashy/+ bug/328089 )

Prova a eseguire Sudo s2both o Sudo pm-suspend-hybrid, vedi se funziona sul tuo sistema.

9
Li Lo

È possibile abilitare la sospensione ibrida seguendo la risposta a questa domanda:

3
Jorge Castro

Questa domanda si presenta abbastanza frequentemente in Google che penso che valga la pena di essere respinta. Li spiega perfettamente la sospensione ibrida. Tuttavia, s2both richiede uswsusp (quindi non utilizza la sospensione nel kernel) e pm-hsuspend-hybrid fa la cosa sbagliata perché non viene mantenuta [1].

Ecco come abilitare la sospensione ibrida senza problemi:

  • Sovrascrivi la chiamata "suspend" per eseguire un "hybrid_suspend" in pm-utils.
% cat /etc/pm/config.d/00-use-suspend-hybrid
 # Usa sempre suspend_hybrid invece di sospendere 
 se ["$ METHOD" = "suspend" ]; quindi 
 METODO = suspend_hybrid 
 fi 
  • Effettua un backup delle funzioni/usr/lib/pm-utils/pm-
  • Prendi la patch da qui: https://bugs.freedesktop.org/attachment.cgi?id=68712
    • Questa patch abilita la sospensione ibrida se disponibile (ad es. Sui kernel 3.6+)
  • Applicalo usando 'patch -p0' o uniscilo manualmente se fallisce

Questo metodo funziona per me sul mio Sony Vaio SVS.

PS: Riproduzione della patch qui nel caso in cui il file venga eliminato in 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[.____.[+ RET = $? 
 + echo -n "$ HIBERNATE_MODE_SAVE"> /sys/power/disk[.____.[+ return "$ RET" 
 +} 
 + fi 
 + 
 + # per kernel che supportano la sospensione di entrambi (ovvero sospensione ibrida) 
 + # dal kernel 3.6 
 + if [-z "$ SUSPEND_HYBRID_MODULE"] &&\
 + [-f/sys/power/disk] &&\
 + grep -q disk/sys/power/state &&\
 + grep -q suspend/sys/power/disk; quindi 
 + SUSPEND_HYBRID_MODULE = "kernel" 
 + do_suspend_hybrid () 
 + {
 + HIBERNATE_MODE = "suspend" 
 + do_hibernate 
} 
 fi 

Fonti:

[1]: pm-utils precede la sospensione ibrida nel kernel disponibile nei kernel 3.6+. Quello che fa pm-suspend-hybrid è mettere la macchina in modalità di sospensione per 15 minuti per impostazione predefinita, quindi ibernare.

0
Rohan Dhruva