不能休眠两次

Quo*_*ans 7 hibernate

我正在运行 Ubuntu 13.10,并且我设法暂停到 RAM,没有发生任何事件。但是,暂停到磁盘(休眠)在我第二次执行(重新启动后)时不起作用。

我试图用pm-hibernateuswusp.

重新启动后第一次运行正常,但如果我再次尝试休眠,它将与消息一起挂起,s2disk snapshooting system我将不得不重新启动。

我的交换分区比我的 RAM 大。

我的/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"
Run Code Online (Sandbox Code Playgroud)

我在更改 CMDLINE_LINUX 参数后运行 update-grub。

我的/etc/initramfs-tools/conf.d/resume

RESUME=UUID=6a6e6406-4022-4620-bb36-fbf29f5c1cdf
Run Code Online (Sandbox Code Playgroud)

更改后更新它:

sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)

我尝试“重新设置”我的交换:

sudo swapoff -a && sudo swapon -U 6a6e6406-4022-4620-bb36-fbf29f5c1cdf
Run Code Online (Sandbox Code Playgroud)

但它没有改变任何东西。

的输出free -m

               total       used       free     shared    buffers     cached 
 Mem:          1865         644       1220          0        111        328
 -/+ buffers/cache:         205       1659 
 Swap:         2044           0       2044
Run Code Online (Sandbox Code Playgroud)

name -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
Run Code Online (Sandbox Code Playgroud)

有没有办法在第一次休眠后重新设置错误?我想象系统在某处创建了一些东西,而这个东西会阻止后续的休眠。

Quo*_*ans 4

找到了解决方案。跑步:

sync && sudo sysctl -w vm.drop_caches=3 && sudo sysctl -w vm.drop_caches=2
Run Code Online (Sandbox Code Playgroud)

将清理缓存,并且系统将能够在重新启动后第二次休眠。

我现在不知道记忆中积累的是什么或为什么。它应该是一个堆栈系统,其中新条目拖出不再需要的条目。

Wilf 的提示对于运行时使用交换空间的系统仍然有效。我仅将其用于休眠 这意味着我有 2 GB,但只使用了 1 GB。例如,如果我需要 3 GB,我将无法使用 2GB 交换分区来休眠我的 2GB RAM 计算机。