Sto eseguendo Ubuntu 13.10 e riesco a sospendere su RAM senza incidenti. La sospensione su disco (ibernazione), tuttavia, non funziona la seconda volta che lo faccio (dopo un riavvio).
Ho provato a ibernare con pm-hibernate
e anche con uswusp
.
La prima volta dopo un riavvio va bene, ma se provo di nuovo a ibernare, si bloccherà con il messaggio s2disk snapshooting system
e dovrò riavviare.
La mia partizione di swap è più grande della mia RAM.
Il mio /etc/default/grub
:
GRUB_DEFAULT="5"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="resume=UUID=6a6e6406-4022-4620-bb36-fbf29f5c1cdf"
GRUB_SAVEDEFAULT="false"
Eseguo update-grub dopo aver modificato il parametro CMDLINE_LINUX.
Il mio /etc/initramfs-tools/conf.d/resume
:
RESUME=UUID=6a6e6406-4022-4620-bb36-fbf29f5c1cdf
Aggiornato dopo averlo cambiato con:
sudo update-initramfs -u
Ho provato a "reimpostare" il mio scambio con:
sudo swapoff -a && sudo swapon -U 6a6e6406-4022-4620-bb36-fbf29f5c1cdf
ma non è cambiato nulla.
Output di free -m
:
total used free shared buffers cached
Mem: 1865 644 1220 0 111 328
-/+ buffers/cache: 205 1659
Swap: 2044 0 2044
Output del nome -a:
Linux QuoraF 3.11.0-13-generic #20-Ubuntu SMP Wed Oct 23 07:38:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
C'è un modo per ripristinare forse ciò che non va dopo il primo ibernazione? Immagino che il sistema crei qualcosa da qualche parte e questo qualcosa blocchi le successive ibernazioni.
Risposta accettata:
Ho trovato una soluzione. In esecuzione:
sync && sudo sysctl -w vm.drop_caches=3 && sudo sysctl -w vm.drop_caches=2
pulirebbe la cache e il sistema sarà in grado di ibernarsi una seconda volta dopo un riavvio.
Ora non so cosa o perché qualcosa si stava accumulando nella memoria. Dovrebbe essere un sistema di stack, in cui le nuove voci trascinano fuori le voci non più necessarie.
I suggerimenti di Wilf sono ancora validi per un sistema che utilizza lo spazio di scambio durante l'esecuzione. Lo sto usando solo per l'ibernazione Ciò significa che avevo 2 GB, ma stavo usando solo 1 GB. Se avessi bisogno di 3 GB, ad esempio, non sarei in grado di ibernare il mio computer da 2 GB di RAM utilizzando una partizione di swap da 2 GB.