详细剖析Linux睡眠休眠状态

运维 系统运维
Linux睡眠休眠是不太常用的两种状态,Linux睡眠休眠各有两种方式,每种方式都有不同的特点,我们接下来就详细讨论一下。

Linux睡眠休眠能否像我们常用的windows系统提供睡眠和休眠状态。在Linux睡眠休眠中,睡眠有两种方式:mem和standby,休眠也有两种方式:shutdown和platform。每种方式都会有些不同。
在作之前,先检查一下你的内核能支持哪些方式:

# cat /sys/power/state
standby disk

Linux睡眠休眠:1. 睡眠 (sleep)

睡眠可能有两种方式:mem和standby,这两种方式都是suspend to RAM,简称STR,只是standby耗电更多一些,返回到正常工作方式时间更短一些而已。

只需要

# echo standby > /sys/power/state

就可以了。

Linux睡眠休眠2. 休眠 (hibernation)

休眠也有两种方式:shutdown和platform。shutdown是通常的方式,比较可靠一些。如果你的系统上ACPI支持非常好,那就有机会支持platform方式。激活的方式稍有不同:

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

注意休眠有一个前提,就是在系统启动时需要指定resume设备,也就是休眠的镜像需要保存的分区。一般都用swap分区来做。

指定方式是:

kernel /boot/vmlinuz root=/dev/sda1 resume=/dev/sda2 vga=0x314 ...

这样在系统启动时,内核会检查resume中的内容,如果存在上次休眠的镜像,那内核便会将镜像读入内存,恢复正常工作状态。 

51cto


 

【编辑推荐】

  1. 闲谈一款Linux股票软件
  2. 全面分析Linux正则表达式(一)
  3. 详解Linux init进程及相关文件
  4. Linux系统启动深度剖析(一)
  5. 怎样处理Linux死机
责任编辑:小霞 来源: 博客园
相关推荐

2009-12-30 09:23:04

Windows 7补丁下载

2010-03-04 17:36:01

Linux系统分区

2010-03-08 14:40:27

Linux进程调度

2010-01-07 10:22:49

Linux内核

2010-03-08 09:09:48

2010-03-05 16:54:47

2012-04-10 09:53:15

2009-09-29 10:00:40

Spring AOP框

2011-06-15 12:36:58

JSPBEAN

2009-08-27 17:14:36

C# Socket

2009-09-02 10:26:23

JSP和BEAN

2011-08-10 13:53:05

windows7睡眠休眠

2009-09-11 11:17:04

C#引用类型

2010-03-15 14:58:58

交换技术

2010-02-23 10:32:20

Python 脚本

2017-08-16 10:12:10

CNN网络数据

2009-09-03 16:58:49

C#内存管理

2009-08-31 17:26:32

C#异常处理

2009-09-18 10:00:17

C#数组操作

2009-12-16 11:16:03

VS 2005开发环境
点赞
收藏

51CTO技术栈公众号