史上最强的休眠方法uswsusp(swap可以远小于内存且完美支持笔记本)[更新]
发表于 : 2010-01-24 17:00
安装uswsusp
Ubuntu gnu/linux只需
Arch gnu/linux系统
下面两段Ubuntu跳过, 直接看最后的让gnome(或者Hal)改用uswsusp方式休眠
修改配置/etc/suspend.conf(Ubuntu已经自动配置好了且Ubuntu下的文件是/etc/uswsusp.conf)
把
中的<path_to_resume_device_file>改成你的swap分区如
uswsusp还可以压缩内存镜像, 不仅能使swape分区大大小于内存, 更能加快恢复的过程(因为读硬盘的时间减少了).
去掉compress前面的注释, 即
在文件最后添加一行, 清楚设置系统关闭而不是重启.
重新创建intramfs(Ubuntu已经自动重建了)
修改/etc/mkinitcpio.conf
在hook行filesystems前加入uresume(如果有resume, 去掉resume)
如
然后重建intramfs
现在先在终端中测试一下
休眠
挂起
或者
使Gnome(或者说Hal)改用uswsusp方法休眠
然后就有近乎完美的休眠, 挂起了.
我的笔记本内存为被显卡用了128MB的1G内存
sawp只有500多MB
挂起和休眠不会像以前那样老是死掉.
休眠后恢复从grub开始计时只需12秒(而用原来的方法需要15秒, 可能内存大优势优势会更明显)
快! 人能感觉到的快!
解决休眠后屏幕黑屏
发现其原因是休眠时启动的锁定屏幕的进程和s2disk冲突.
所以解决方法就是让s2disk先sleep几秒钟等锁定屏幕完成后再运行.
编辑
/usr/sbin/pm-hibernate
在
下面添加一行
同理可用修改/usr/sbin/pm-suspend
和ati的兼容(这里用的是radeon驱动:xf86-video-ati)
我最开始用休眠时发现和compiz有冲突
后来在/etc/X11/xorg.conf里的Section "Device"段添加
后就正常了
唯一的不足是当笔记本用盖上盖子的方式挂起, 会出现两次挂起过程. 不过不影响使用
参考:
http://wiki.archlinux.org/index.php/Sus ... ate-script
http://wiki.archlinux.org/index.php/Pm-utils
viewtopic.php?f=86&t=83263&start=15
Ubuntu gnu/linux只需
代码: 全选
sudo aptitude install uswsusp
代码: 全选
sudo pacman -S uswsusp
修改配置/etc/suspend.conf(Ubuntu已经自动配置好了且Ubuntu下的文件是/etc/uswsusp.conf)
把
代码: 全选
resume device = <path_to_resume_device_file>
代码: 全选
resume device = /dev/sda2
去掉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"
代码: 全选
sudo mkinitcpio -p kernel26
休眠
代码: 全选
sudo s2disk
代码: 全选
sudo s2ram
代码: 全选
sudo s2ram --force
代码: 全选
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
和ati的兼容(这里用的是radeon驱动:xf86-video-ati)
我最开始用休眠时发现和compiz有冲突
后来在/etc/X11/xorg.conf里的Section "Device"段添加
代码: 全选
Option "AccelMethod" "EXA"
唯一的不足是当笔记本用盖上盖子的方式挂起, 会出现两次挂起过程. 不过不影响使用
参考:
http://wiki.archlinux.org/index.php/Sus ... ate-script
http://wiki.archlinux.org/index.php/Pm-utils
viewtopic.php?f=86&t=83263&start=15