分页: 1 / 6

史上最强的休眠方法uswsusp(swap可以远小于内存且完美支持笔记本)[更新]

发表于 : 2010-01-24 17:00
syrano
安装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


和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

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 8:36
taper
:em11 :em11

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 9:14
daf3707
标记
ubuntu 没有/etc/suspend.conf? :em03

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 9:14
tenzu
强贴趁早留名

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 9:53
eexpress
如果swap小。不就是suspend to disk嘛。
没明白。

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 10:10
eric925
mark

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 11:01
jimmyxu
有空试试!!

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 11:42
photor
:em09 :em09 :em09

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 11:55
syrano
daf3707 写了:标记
ubuntu 没有/etc/suspend.conf? :em03
ubuntu下是/etc/uswsusp.conf
已经自动配置好了

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 15:37
momova
10.04取消了hal吧?那个时候怎么办?

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 16:23
Jarson
mark,看到后面的“不足”后不大敢用哦,因为俺的显卡也是ATI的,compiz还是想用的 :em20

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 23:08
syrano
momova 写了:10.04取消了hal吧?那个时候怎么办?
只要那时候ubuntu还调用pm-utils关机, 就没什么事.

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-25 23:31
momova
syrano 写了:
momova 写了:10.04取消了hal吧?那个时候怎么办?
只要那时候ubuntu还调用pm-utils关机, 就没什么事.
那我就放心了,只有三个多月的时间就可以用上新版了,一直担心会影响到将来的系统

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-26 3:07
leni
我的本本休眠可以休,就是醒来后每隔一段时间机器就会发出启动的声音 :em20
很奇怪的问题

Re: 史上最强的休眠方法uswsusp(swap完全可以小于内存且完美支持笔记本)

发表于 : 2010-01-26 6:02
BigSnake.NET
tuxonice 功能更强大..