Linux中的待机和休眠详解

待机与休眠的区别,待机(Suspend)是挂起到内存,关机后需要保持对内存供电,不能完全关闭电源,但是这种方式重启动的速度最快。休眠(Hibernate)是挂起到硬盘,可以完全关闭电源。

如果是在用GNOME,在GNOME, 打开 GNOME Terminal,输入 gnome- TAB 自动补全,果然发现一个命令:gnome-power-cmd,就是它了。

  • 待机:$ gnome-power-cmd suspend
  • 休眠:$ gnome-power-cmd hibernate

 

Linux实现待机和休眠

EVOC BIOS默认值是将ACPI打开APM关闭,测试时只针对ACPI两种模式sleephibernation)进行测试即可;

 

1. sleep睡眠模式)即待机模式

root用户名登陆当前系统

 

1.1 查看当前内核能支持哪些睡眠模式:

# cat /sys/power/state

mem disk (内核只支持两种睡眠模式)

 

1.2 键入命令:

# echo "mem" > /sys/power/state

 

1.3

按主板power键恢复(唤醒)至之前画面

 

2 (hibernation休眠)

2.1 休眠默认支持两种方式:shutdownplatform

2.4内核使用shutdown

2.6内核使用platform

 

2.2 休眠需指定resume设备,一般都用swap分区来做。

指定方式更改grub启动给内核传递唤醒参数是:

#vi /etc/grub/grub.conf

grub配置:

# grub.conf generated by anaconda

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You do not have a /boot partition. This means that

# all kernel and initrd paths are relative to /, eg.

# root (hd0,4)

# kernel /boot/vmlinuz-version ro root=/dev/hda5

# initrd /boot/initrd-version.img

#boot=/dev/hda

default=0

timeout=5

splashimage=(hd0,4)/boot/grub/splash.xpm.gz

hiddenmenu

title Fedora Core (FC6-hibernation)

root (hd0,4)

kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet

initrd /boot/initrd-2.6.18-1.2798.fc6.img

kernel项更改为:

kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet resume=/dev/hda6

保存,退出,重启系统再以root用户登录

 

2.3 键入命令:

# echo platform > /sys/power/disk; echo disk > /sys/power/state

or # echo shutdown > /sys/power/disk; echo disk > /sys/power/state

进入休眠状态10秒后,按power键进行唤醒。

 

参考资料:

http://www.linuxidc.com/Linux/2008-09/16074.htm

http://blog.csdn.net/hshl1214/article/details/6228275

master

Stay hungry, stay foolish.

发表评论

邮箱地址不会被公开。 必填项已用*标注

*