J'utilise Ubuntu 13.10 et je parviens à suspendre la RAM sans aucun incident. Cependant, la suspension sur le disque (hibernation) ne fonctionne pas la deuxième fois que je le fais (après un redémarrage).
J'ai essayé d'hiberner avec pm-hibernate
et aussi avec uswusp
.
La première fois après un redémarrage, tout se passe bien, mais si j'essaie à nouveau d'hiberner, il se bloquera avec le message s2disk snapshooting system
et je devrai redémarrer.
Ma partition d'échange est plus grande que ma RAM.
Mon /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"
J'exécute update-grub après avoir modifié le paramètre CMDLINE_LINUX.
Mon /etc/initramfs-tools/conf.d/resume
:
RESUME=UUID=6a6e6406-4022-4620-bb36-fbf29f5c1cdf
Mettez-le à jour après l'avoir modifié avec :
sudo update-initramfs -u
J'ai essayé de "réinitialiser" mon swap avec :
sudo swapoff -a && sudo swapon -U 6a6e6406-4022-4620-bb36-fbf29f5c1cdf
mais ça n'a rien changé.
Sortie de free -m
:
total used free shared buffers cached
Mem: 1865 644 1220 0 111 328
-/+ buffers/cache: 205 1659
Swap: 2044 0 2044
Sortie du nom -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
Existe-t-il un moyen de peut-être réinitialiser ce qui ne va pas après la première hibernation ? J'imagine que le système crée quelque chose quelque part, et ce quelque chose bloque les hibernations suivantes.
Réponse acceptée :
Trouvé une solution. En cours d'exécution :
sync && sudo sysctl -w vm.drop_caches=3 && sudo sysctl -w vm.drop_caches=2
nettoierait le cache, et le système pourra hiberner une deuxième fois après un redémarrage.
Je ne sais pas quoi ou pourquoi quelque chose s'accumulait dans la mémoire. Il devrait s'agir d'un système de pile, où les nouvelles entrées font glisser les entrées qui ne sont plus nécessaires.
Les conseils de Wilf sont toujours valables pour un système utilisant l'espace d'échange lors de l'exécution. Je ne l'utilise que pour l'hibernation. Cela signifie que j'avais 2 Go, mais que je n'utilisais que 1 Go. Si j'avais besoin de 3 Go par exemple, je ne pourrais pas mettre en veille prolongée mon ordinateur de 2 Go de RAM en utilisant une partition d'échange de 2 Go.