Windows待机、休眠、睡眠的区别以及程序运行策略
Windows操作系统中很早就加入了待机、休眠等模式,而Windows Vista中更是新加入了一种叫做睡眠的模式,可是很多人还是习惯在不使用电脑的时候将其彻底关闭。其实充分利用这些模式,我们不仅可以节约电力消耗,还可以用尽可能短的时间把系统恢复到正常工作状态。
这三种模式的定义如下:
待机(Standby)
将系统切换到该模式后,除了内存,电脑其他设备的供电都将中断,只有内存依靠电力维持着其中的数据(因为内存是易失性的,只要断电,数据就没有了)。这样当希望恢复的时候,就可以直接恢复到待机前状态。这种模式并非完全不耗电,因此如果在待机状态下供电发生异常(例如停电),那么下一次就只能重新开机,所以待机前未保存的数据都会丢失。但这种模式的恢复速度是最快的,一般五秒之内就可以恢复。
休眠(Hibernate)
将系统切换到该模式后,系统会自动将内存中的数据全部转存到硬盘上一个休眠文件中,然后切断对所有设备的供电。这样当恢复的时候,系统会从硬盘上将休眠文件的内容直接读入内存,并恢复到休眠之前的状态。这种模式完全不耗电,因此不怕休眠后供电异常,但代价是需要一块和物理内存一样大小的硬盘空间(好在现在的硬盘已经跨越TB级别了,大容量硬盘越来越便宜)。而这种模式的恢复速度较慢,取决于内存大小和硬盘速度,一般都要1分钟左右,甚至更久。
睡眠(Sleep)
是Windows Vista中的新模式,这种模式结合了待机和休眠的所有优点。将系统切换到睡眠状态后,系统会将内存中的数据全部转存到硬盘上的休眠文件中(这一点类似休眠),然后关闭除了内存外所有设备的供电,让内存中的数据依然维持着(这一点类似待机)。这样,当我们想要恢复的时候,如果在睡眠过程中供电没有发生过异常,就可以直接从内存中的数据恢复(类似待机),速度很快;但如果睡眠过程中供电异常,内存中的数据已经丢失了,还可以从硬盘上恢复(类似休眠),只是速度会慢一点。不过无论如何,这种模式都不会导致数据丢失。
正因为睡眠功能有这么多优点,因此Windows Vista开始菜单上的电源按钮默认就会将系统切换到睡眠模式。所以我们大可充分利用这一新功能,毕竟从睡眠状态下恢复,速度要比从头启动快很多。而且睡眠模式也不是一直进行下去的,如果系统进入睡眠模式一段时间后(具体时间可以设定)没有被唤醒,那么还会自动被转入休眠状态,并关闭对内存的供电,进一步节约能耗。
总地来说,待机是只保持内存供电,其他设备(如硬盘、网络适配器等)都将不再供电;如果启用了休眠模式(启用方法如下),在系统盘(如C盘)根目录下会生成一个如下图中显示的大小(3070MB)的文件hiberfil.sys(停用休眠模式,该文件将自动删除),用于将内存中保存的数据替换到硬盘中,因此休眠状态下无须对内存供电,因为所有数据已经转存至硬盘,电脑的电源也随之关闭,其效果犹如关机,但却保持了运行状态中的数据。
实际情况中,我们很多时候需要长时间运行某个程序(如大数据量的处理、网络的侦听程序等),需要在机器中保持一直保持运行,但又需要在无人看管的情况下保持电脑锁定,因此就需要将待机、休眠状态(通常是待机)都取消。
而我们经常使用的“windows + L”快捷键是将计算机锁定,这时计算机并没有进入任何节电状态,因此不影响程序运行。但是在通常情况下,Windows默认设置在一定时间后进入待机和休眠模式。因此我们需要修改这个策略。
Xp系统下,在桌面右键点击“属性”,选择“屏幕保护程序”标签,然后点击“电源(o)...”进行电源设置。
在当前的电源使用方案(如“家用/办公桌”)下,设置“系统待机”和“系统休眠”为“从不”即可。如果你的程序需要长时间做磁盘I/O操作,将“关闭硬盘”设置为“从不”也是必须的。
注:上图在台式机和笔记本中显示有所不同。
Win7系统下,打开“控制面板”,点击“系统和安全”分类,然后点击“电源选项”(如果你的控制面板的查看方式不是“分类”,则直接点击“电源选项”即可)。在电源选项面板中,选择“更改计算机睡眠时间”,将“使计算机进入睡眠状态”设置为“从不”。在“更改高级电源设置”中详细设置,将“硬盘”设置为“0”即可不关闭硬盘。