swap分区不足ubuntu休眠

安装uswsusp

Ubuntu gnu/linux只需
代码:
sudo aptitude install uswsusp

Arch gnu/linux系统
代码:
sudo pacman -S uswsusp


下面两段Ubuntu跳过, 直接看最后的让gnome(或者Hal)改用uswsusp方式休眠

修改配置/etc/suspend.conf(Ubuntu已经自动配置好了且Ubuntu下的文件是/etc/uswsusp.conf)

代码:
resume device = <path_to_resume_device_file>

中的<path_to_resume_device_file>改成你的swap分区如
代码:
resume device = /dev/sda2


uswsusp还可以压缩内存镜像, 不仅能使swape分区大大小于内存, 更能加快恢复的过程(因为读硬盘的时间减少了).
去掉compress前面的注释, 即
代码:
compress = y


在文件最后添加一行, 清楚设置系统关闭而不是重启.
代码:
shutdown method = shutdown



重新创建intramfs(Ubuntu已经自动重建了)

修改/etc/mkinitcpio.conf
在hook行filesystems前加入uresume(如果有resume, 去掉resume)

代码:
HOOKS="base udev autodetect pata scsi sata uresume filesystems"

然后重建intramfs
代码:
sudo mkinitcpio -p kernel26


现在先在终端中测试一下
休眠
代码:
sudo s2disk

挂起
代码:
sudo s2ram

或者
代码:
sudo s2ram --force


使Gnome(或者说Hal)改用uswsusp方法休眠
代码:
sudo su
echo "SLEEP_MODULE=uswsusp">/etc/pm/config.d/module



然后就有近乎完美的休眠, 挂起了.
我的笔记本内存为被显卡用了128MB的1G内存
sawp只有500多MB
挂起和休眠不会像以前那样老是死掉.
休眠后恢复从grub开始计时只需12秒(而用原来的方法需要15秒, 可能内存大优势优势会更明显)
快! 人能感觉到的快!

解决休眠后屏幕黑屏
发现其原因是休眠时启动的锁定屏幕的进程和s2disk冲突.
所以解决方法就是让s2disk先sleep几秒钟等锁定屏幕完成后再运行.
编辑
/usr/sbin/pm-hibernate

代码:
#!/bin/sh

下面添加一行
代码:
sleep 5


同理可用修改/usr/sbin/pm-suspend
 
待机 sudo s2ram --force
原文地址:https://www.cnblogs.com/huashiyiqike/p/3604906.html