- 浏览: 507112 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
lin_kk:
最近正在学,请问LZ有源码事例吗,如果有能发一下我邮箱吗,万分 ...
使用libgdx及其中的box2d 2.1的注意事项 -
ahong520:
编译都通不过
ffmpeg对音频解码的一般步骤 -
辽东小小:
yajun_soft 写道XXX@XXX:~$ adb she ...
adb push的Permission denied -
cdtdx:
好文, 相当不错啊. 收了.
什么是app2sd,app2ext,data2ext?app移动到SD卡哪里去了? /mnt/asec /mnt/secure -
dickycat:
学习了,最近正在学这一块,年纪大了,学起来有点吃亏!
使用libgdx及其中的box2d 2.1的注意事项
到底用睡眠和休眠,还是直接关机的问题,争论颇多,大家各有各的观点和立场。在此对这个问题,简要分析一下可能涉及到的几个方面。
在大部分情况下使用睡眠和休眠就可以了,重启和关机是在极少数情况下使用的,比如安装了新软件要求重启,或者系统出现了严重故障。下面从几个方面来说这个问题,这里默认了一个前提,就是你的主板支持s3待机。究竟哪些主板支持?我家有台老爷机,2001年买的,它都支持,我想不必再多说些什么了吧,有的主板需要在bios里开启后才支持。还有一种判定方法,就是在设备管理器的系统设备里,看看有没有个叫”ACPI-Compliant System”的东西,如果有的话就说明高级电源管理接口已经启动,即支持s3待机。
1.运行过程说明
vista刚出来的时候,我也被什么睡眠休眠这些东西搞的稀里糊涂,花了很长时间研究和试验才搞清楚。以前我也觉得他们很鸡肋,几乎没有用,也是经过了很长时间的实践才领悟到其中的道理。首先就和大家分享一下,把睡眠和休眠的机制说清楚,我想大部分人应该都明白的吧。注:此节里关于电源的描述并不完全严格,只是一个形象的说法。
1.1台式机的普通睡眠(混合式睡眠关闭),这和xp下的待机是一个意思了,就是除内存以外所有设备都断电,内存只上直流电源(没有时钟输入,这个很重要),唤醒的时候恢复对其它设备的供电,并返回工作状态。
1.2台式机的休眠,xp下也有这个功能,把内存里的所有数据存储到硬盘的一个连续空间里,并切断所有电源。在恢复时,将硬盘里临时存储的内存数据恢复到内存里,并返回工作状态。
1.2.1在电源计划里,对于进入睡眠和进入休眠的时间有分别的设定,当然按照正常人的逻辑前者要小于后者。所以当进入睡眠后一直没有唤醒,直到休眠定时器到点,则系统会自动把内存数据存入硬盘,断开所有设备电源,进入休眠状态。
1.2.2混合式睡眠,即当混合式睡眠开启后。开始睡眠的那一刻,内存的数据就同时被存入了硬盘中,而且内存仍然上电,进入正常的睡眠状态。若发生意外断电,则下次启动时从硬盘上的数据恢复到内存里,即休眠的原理。当然,如果睡眠到休眠定时器触发,也会自动转入休眠状态,这时候就不用再进行数据转存了,因为之前已经做过了。所以说混合式睡眠=睡眠+休眠,这样可以防止突然断电导致数据丢失。
1.3笔记本的睡眠和休眠,笔记本的运行机制和台式机有所区别。在以电池供电的睡眠状态时,若电池即将耗尽,系统也会自动将内存数据保存入硬盘并关闭电源,进入休眠状态。这样一来,有两种事件可以触发笔记本由睡眠转入休眠:电源计划里进入休眠的时间到,或者电池供电时电池即将耗尽。
1.3.1当笔记本接交流电源时进入睡眠状态,之后再断开交流电源。则何时由睡眠转入休眠,仍然由电源计划里的“接交流电源时”的计划时间决定。就是说休眠定时器在进入睡眠的时候就设定好了,不会因为后来拔掉交流电源,而将定时器设置成“用电池供电”的计划。
1.3.2关于笔记本的混合式睡眠,大家可能会注意到。台机装好系统后,默认是混合式睡眠开启,为了防止进入睡眠后突然断电带来的数据丢失。而笔记本因为有电池供电,不存在突然断电的情况。即使电池缓慢的耗尽,这也是可预兆的,系统会在电池即将耗尽时将数据转存入硬盘进入休眠状态。
2.关于时间问题
这个应该是争论的焦点,也是我想说明的重点。毫无疑问,按照时间排序,睡眠是最快的,其次是休眠,最慢的是关机和开机冷启动。大部分持时间理由反对的人,基本都是说“我直接冷启动也很快,你们启动慢是因为你们不懂优化”。我在这里先明确一个概念:
2.1工作状态,这个概念非常重要,就是指你能立即开始工作的系统状态。我想对于很多人来说,有些程序是必须在运行的,比如qq、msn、mail等通讯软件,比如一些office文档(word、excel、ppt),比如听音乐的软件,比如各种专业软件,比如打开了几个文件夹(资源管理器)。我只是比如,每个人都会有自己的工作状态,自己工作(这里是广义的意思,包括娱乐游戏)状态会有一群打开着的软件、系统的各项设置。所以,判断一个方案速度是否快,要看它进入工作状态的时间,而非纯粹的启动时间。
2.2启动状态和工作状态,某些人只算了一面帐,而忽略了另外一面。冷启动很慢,vista尤其慢,因为启动的时候要加载大量的dll,加载大量的自启动程序。关于减少启动的加载项来优化启动速度的方法网上到处都是,但是你们有没想过一个问题,羊毛出在羊身上。结果是越通过减少启动项来加快启动速度,启动状态和工作状态就相差的越远,你还是要花很长的时间从启动状态进入工作状态。比如你把qq从启动项里删了,假设你开电脑就必须要用qq,难道你自己手工打开qq不要花时间的?或是说你觉得你手动点击打开比它自启动还要快?
2.3睡眠唤醒的时间优势,用一个简单的例子就可以说明。设想你在写一篇文章,打开了2个word文档和1个ppt,开了3-5个网页来查资料,同时开了qq、msn、mail进行通讯,还有放音乐的软件,还打开了若干个文件夹,可能还有一些专业软件比如visual studio。现在你要睡觉了,明天起来接着写。那些说自己优化了开机的,试验一下把机器关机,然后冷启动,进入系统以后把这些软件全部打开进入工作状态,看看要多少时间。纵然你启动优化的再好,配置再nb,我不相信你可以在2分钟内进入工作状态,至少我的电脑需要5分钟。但是从睡眠唤醒,进入工作状态只要10秒不到,这个估计还保守了,都包括进了输入用户密码以及可能需要重新连接adsl的时间,10秒也足够了。10秒内就可以立即开始工作!
2.3.1其实上例是具有普遍意义了,这是一种习惯的变迁。人们以前习惯了在关闭电脑前保存所有文档,结束所有程序,然后离开。而在睡眠机制下,倡导大家在任何想离开的时侯直接按下睡眠键,在恢复时就可以立即回到原先的状态。把开启和关闭的时间都省略了,这就是睡眠的精髓所在。例中还包含了其它的因素,比如冷启动后重新打开那些网页要花的时间,甚至是找到那些网页(快捷一点的办法是从历史记录里找,或者已经事先加入了收藏夹)所要花的时间,而睡眠唤醒后就可以直接阅读已经打开了的网页了。再有甚者,假设你要睡觉了、或者宿舍要断电了,你玩游戏还没打到存盘点怎么办?你舍得关机吗?休眠可以完美的解决这个问题。引入睡眠和休眠的精髓,就是瞬间保留你的工作状态,让你回来时可以立即恢复进入工作,不仅是节省时间,还要节省人的操作。如果仅仅是把它当作一种启动的方式,那误解就大了。
2.4休眠与冷启动,同样是从硬盘加载,休眠恢复的速度仍然要比冷启动快上很多,尤其是你的工作状态复杂的时候。原因很简单,硬盘的连续读写速度非常快,而随机读写能力差劲。从冷启动到工作状态硬盘要到处读取dll、到处加载软件、到处加载文档……而从休眠恢复,是从硬盘上连续的空间里读取数据恢复到内存里,所以速度很快。仍然以2.3节为例,2g内存的电脑,若是从休眠恢复,包含上开机自检和输入密码等时间,花销也不会超过60秒。
3.关于元件损耗和能源问题
这算是是第二个主要争论的焦点了,实际上其中也存在了很多的误解,其实只要稍微学过一些电子学,其中的道理就很容易明白了。休眠和关机都是不需要任何电源的,而上节已经说明休眠都要比关机好上许多,本节比较的就是睡眠和休眠的关系。
3.1静态功耗与额定功率,一般来说一块芯片要工作,需要一个直流电源,还需要一个时钟脉冲输入。cpu需要外部输入一定频率的时钟,这个频率就叫外频,而cpu内部会自动调节核心频率等于这个外频的若干倍,就是倍频了。内存也有其工作频率,什么ddr667、ddr800指的就是该内存的工作频率为333MHz和400MHz,因为ddr是在时钟的上升沿和下降沿分别进行了一次数据读写,所以它的时钟频率是其数据频率的一半。有一个概念很重要,在系统电源配置里,说为节能关闭了某设备,其实是指关闭了这个设备的时钟控制,直流电源并没有切断。芯片在直流电源接入而没有时钟的情况下的耗电量叫做该芯片的静态功耗,它是非常小的,与其额定功率(动态功耗)比完全可以忽略不计。
3.2睡眠状态下的功耗,睡眠状态下,一般来说除内存外其他设备的直流电源都被切断了,如果打开了usb唤醒功能,那么usb上是有电的。这样的情况下,实际功耗就只有内存的静态功耗,其实这是非常小的。一般的笔记本电池续航,如果只是上网处理文档之类的,大概用3个小时左右。但是用来睡眠的话,上次我睡眠了2天半,恢复起来看还有78%的电量。3小时用光电池,50小时只用了20%,区别就是这样。
3.3元件损耗问题,这个其实和上述差不多,芯片元件的损耗也主要发生在时钟工作时,在静态的损耗同样可以忽略不计。至于休眠和冷启动硬盘损耗的比较,都不用我说,自己去听听硬盘的声音和持续时间上的区别吧。
4.我的观点和建议
文章开头我就表明了我的看法,现在就是考虑如何选择休眠与睡眠的关系。简单的道理,就是离开时间过长就用休眠,不是太长就用睡眠。分界线在哪里,我的经验是24小时,如果24小时内还要来用电脑,就睡眠吧,否则就休眠,这个尺度大家可以根据自己的经验来把握。像那种暂时离开(吃饭、睡觉)是最适合用睡眠的
4.1关于混合式睡眠,台式机还是建议开启吧,为了防止意外发生。开启混合式睡眠只会影响到进入睡眠的时间,恢复时间不受影响。笔记本没有开启的必要。
4.2电源计划,这个非常重要,强烈建议大家都要根据各人的情况详细设置各个项目,例如关闭监视器的时间、进入睡眠的时间以及进入休眠的时间等。还有各个按钮的作用也要设置好,我的习惯(仅供参考)是:对于笔记本,盖上盖子是睡眠,开始菜单那的按钮也是睡眠,机子上的电源按钮是休眠;对于台式机,开始菜单那是睡眠,主机上电源按钮是休眠;至于关机和重新启动,用的几率极小,要用时从开始旁边的关机菜单里点。
4.3结束语,关于这个问题我已经把我想说的都说了,但好像还没完。其实引发争论的最根本原因是,大家太过粗犷的计算机使用方式。说白了,我觉得国内人士在计算机操作习惯上,大部分都是极端的保守派。只要新的环境和原先习惯稍微有一点不同,就要开始责怪,怎么不去想想如何改变自己的习惯来获得更高的工作效率?vista普及的阻力,主要就来自于这里。还有太多太多的问题,太多人在太多方面的行为还停留在原始的粗犷的方式。此文旨在引导大家使用睡眠和休眠,更希望能抛砖引玉,思考一下自己的计算机使用习惯,仔细想想为什么软件的开发者要如此设计,而不是一味的叛逆默认设置、叛逆windows自带、叛逆常规使用方式。这样的叛逆不会显示出你水平有多高,反而突显你的无知!这话没有贬低谁的意思,我也是从那个阶段过来的,我也曾鄙视和叛逆过所有很多人现在鄙视和叛逆的东西。
发表评论
-
关于2的补码
2013-04-16 11:40 1089from : http://www.ruanyifeng.co ... -
什么是watchdog + 为何在要系统初始化的时候关闭watchdog
2012-12-06 17:09 1493什么是watchdog + 为何在要系统初始化的时候关闭wat ... -
MMU结构以及工作原理
2012-11-25 00:15 1289MMU的大名,早就听说了,可是一直不知道它是怎么工作的,前几月 ... -
Thread-Specific Data 注:相当于线程内的全局变量,可减少线程内调用其他函数的变量数
2012-11-18 01:20 1365Linux多线程编程中引入了Thread-Specific D ... -
linux下socket编程实例
2012-11-13 12:03 789一、基本socket函数Linux系统是通过提供套接字( ... -
简单的RPC编程实践——HelloWorld的实现
2012-11-13 01:39 1668近期课程的作业需要 ... -
L4操作系统(L4/Fiasco介绍)
2012-11-11 01:36 2989我们学习操作系统 ... -
微内核(microkernel)相关
2012-11-10 22:50 1714from : http://www.yandong.or ... -
Linux模块编程
2012-11-10 12:38 577Linux模块简介 首先这个module不同于m ... -
这场官司让BSD错过了机会,让linux在应用广泛度上超越了它
2012-11-10 00:50 115470年代末,在Unix发展到 ... -
printk与syslog(至少在Redhat中是这样的)+Ubuntu下用最简单的读到/proc/kmsg
2012-10-12 01:00 1401在头文件 <linux/kerne ... -
关于Linux的syslog
2012-10-12 00:59 1094内核中printk发出的消息是这样传递到用户空间的。 ... -
LINUX下三个内核文件详解
2012-10-11 23:45 716在网络中,不少服务器采用的是Linux系统。为了进一步提高服务 ... -
主存与Cache的地址映像
2012-10-02 20:14 1454在线课件:http://210.44.176.183/jsjx ... -
Linux 2.6.32的内核栈和用户空间栈关系
2012-10-01 00:26 1006.进程的堆栈 内核在 ... -
Linux 内核堆栈
2012-10-01 00:25 1056所有进程(包括内核进程和普通进程)都有一个内核栈,在x8 ... -
linux内核栈与用户栈
2012-10-01 00:24 1243http://19880512.blog.51cto.c ... -
Debian 6 驱动开发环境搭建
2012-09-29 15:33 1530Debian 6 驱动开发环境搭建1.安装相关工具apt-ge ... -
linux-kernel mail list订阅
2012-09-28 12:02 1401由于linux-kernel 的mail list中邮件 ... -
unix Mechanism vs Policy(机制与策略)
2012-09-27 13:12 2526http://blog.csdn.net/ostrichmys ...
相关推荐
笔记本的睡眠和休眠区别是什么?如何使用.docx
win7电脑休眠和睡眠有什么区别?.docx
笔记本电脑的睡眠和休眠有什么区别.docx
帮你更好的了解系统的睡眠与休眠 让你的机子运行的更快更流畅
待机 休眠 睡眠 相信大家还是不太了解 这篇文章将详细介绍一下!
动切换电脑到睡眠或者休眠模式,并于一定时间之后自动唤醒。它可以省去在测试的过程中 需要手动不停地让电脑睡眠(休眠)并唤醒的麻烦,解放了测试人员的双手,节约了测试时 间,提高了工作效率。 2.命令格式: ...
Ubuntu设置屏幕睡眠系统不休眠
windows中关于睡眠和休眠的设置、使用、认识的区别.docx
Windows 7有关睡眠和休眠的常见问题解答.docx
Windows系统中睡眠、休眠、待机、混合睡眠的解释说明.docx
Win7系统睡眠和休眠的问题以及解决方法.docx
利用PowerManager中 goToSleep和wakeUp方法实现手机强制休眠和唤醒,demo已测试通过
关闭Windows混合睡眠、休眠,无报错即成功。
定时休眠睡眠关机(默认关机)
定时唤醒睡眠,休眠中的电脑工具,超级好用。免费绿色版,还支持代码运行
系统待机、休眠、睡眠的区别和优缺点.docx
定时休眠睡眠关机
一短 vb开发语言, 能让计算机开机、关机、待机等操作
Windows电脑,自动定时+休眠+睡眠+关机 批处理文件 .bat
Android中如何禁止屏幕休眠和锁屏 Android中如何禁止屏幕休眠和锁屏