无法hibernate两次
我正在运行Ubuntu 13.10,我设法在没有任何事件的情况下暂停到RAM。 但是,挂起到磁盘(hibernate),第二次执行时(重启后)不起作用。
我尝试用pm-hibernate
和uswusp
来hibernate。
重新启动后第一次它很好,但如果我再次尝试hibernate,它将挂起消息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"
我在更改CMDLINE_LINUX参数后运行update-grub。
我的/etc/initramfs-tools/conf.d/resume
:
RESUME=UUID=6a6e6406-4022-4620-bb36-fbf29f5c1cdf
更改后更新它:
sudo update-initramfs -u
我尝试’重新设置’我的交换:
sudo swapoff -a && sudo swapon -U 6a6e6406-4022-4620-bb36-fbf29f5c1cdf
但它没有改变任何东西。
free -m
输出:
total used free shared buffers cached Mem: 1865 644 1220 0 111 328 -/+ buffers/cache: 205 1659 Swap: 2044 0 2044
输出名称-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
有没有办法在第一次hibernate后重新设置出错的地方? 我想这个系统会在某个地方创造出一些东西,这会阻碍随后的hibernate。
找到了解决方案。 运行:
sync && sudo sysctl -w vm.drop_caches=3 && sudo sysctl -w vm.drop_caches=2
将清理缓存,并且系统将能够在重新启动后第二次hibernate。
我现在不知道什么或为什么东西在记忆中积累。 它应该是一个堆栈系统,新条目将拖出不再需要的条目。
Wilf的提示对于运行时使用交换空间的系统仍然有效。 我只使用它来进行hibernate这意味着,我有2 GB,但只使用1 GB。 如果我需要3 GB,例如,我将无法使用2GB交换分区来hibernate我的2GB RAM计算机。
我找到了我的机器Asrock Z97 Fatal1ty的解决方法,因为HIBERNATE_MODE =“platform”不起作用但“shutdown”没有。 通过以root身份键入以下内容在终端中进行测试
echo shutdown > /sys/power/disk
然后
echo disk > /sys/power/state
进行了hibernate,并且按照我的尝试进行了多次。 我尝试了几个指南试图将默认模式从“平台”更改为“关闭”,但没有一个工作,所以我在下面添加了以下行
在/etc/rc.local
echo shutdown > /sys/power/disk
然后保存该文件。
编辑:我原来在原来的答案中键入了“echo shutdown> / sys / mode / disk”和“echo disk> / sys / mode / state”,意识到我的错误。 我也尽可能地格式化代码。 抱歉,编辑量不寻常。
您可以通过创建文件来启用hibernate菜单选项:
/var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
并将此添加到此空文件:
[Re-enable hibernate by default in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes [Re-enable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate ResultActive=yes
然后注销并重新登录,hibernate将在注销菜单选项中,每次都有效。 我知道有人可以改进这个答案,但我想我会分享对我有用的东西。 理想情况下,人们会找到正确的文件来编辑pm-utilshibernate的默认模式,但就像我说我尝试过没什么用,但是这样做了。 我遇到的唯一警告是你现在必须按下电源按钮才能从hibernate状态恢复,因为键盘不会像使用“平台”那样唤醒计算机。 希望这有助于某人。
由于您很可能没有足够的hibernate交换空间,因此您可能希望增加交换空间大小。
关于交换的大小应该是多少有不同的意见,但是这里有一个来自Fedora 64bit文档 (找不到Ubuntu一个……有一个,我确实发现它很久以前……) :
因此,它建议RAM的3倍。 最终为5595Mib(5.5GiB),应该足够了。 我认为这是为了允许RAM的可能溢出加上hibernate的大小。 在增加交换空间的实际过程中,这里有一些很好的答案。
如果有上述信息的Ubuntu版本,我很乐意替换