一日,某朋友打来电话说,她的电脑出了点问题,让我帮忙解决一下。细问之下才知道事情的经过:
原来那位朋友因有事要出去一下,但时间又不长,于是就想让电脑进入睡眠模式(Windows 98),可是点击“开始→关闭系统”后才惊讶地发现,以前一直排在第一位的“将您的计算机转入睡眠状态”这一项竟然没有了!
她自己也从没注意到这一项究竟是什么时候失踪的,回来后重启系统,问题依旧!她虽是位爱思考的教师,但对此还是百思不得其解,于是向我请教。
听完她的叙述后,我的第一个反应就是问她以前是否曾经在睡眠模式下出错并死机过?因为这种情况大多是由于在睡眠模式下死机后Windows在注册表里禁用了这项功能而导致的。如果是这样的话,问题处理起来就比较简单了,只要修改注册表里的相关键值即可。可朋友给我的回答却是:以前从没发生过这种情况。糟了,此路不通!
我又想到了第二种可能情况:高级电源管理的支持。一般来说现在购买的电脑都支持高级电源管理功能。朋友告诉我,她以前这项功能一直用得很好的,也没删过Windows下的任何文件,主板驱动也重装了,更没有改动过CMOS里的项目。唉!看来这也是条死胡同,还是另找出路吧。思来想去,既然从外部不能解决问题,那为何不换个角度从内部去思考呢?
大家都知道,进入睡眠状态的过程其实就是Windows把物理内存中的项目调度到虚拟内存中去的过程。顺着这条思路,我逐渐把注意力集中到了虚拟内存上。既然睡眠状态必须要用到虚拟内存,那么如果禁用了虚拟内存Windows会有什么反应呢?死机?黑屏?非法操作?无法进入待机状态?谁知道呢,反正Windows什么都干得出来!看来只能自己动手了。
为了证实这种结果,我在自己的电脑上打开“开始→设置→控制面板→系统”,进入“性能”选项卡的“虚拟内存”子页面,在“禁用虚拟内存”前的方框里打上了小钩(如图1),按下了“确定”按钮。不理会Windows的警告,重新启动!再次进入系统后??咦?我的睡眠模式也不见了!赶紧启用虚拟内存,再次重启,睡眠模式又回来了!为了证实朋友的问题是否也与此有关,我拨通了她的电话……朋友回答说:我都已经有256MB内存了,还要虚拟内存干吗?我当然就禁用啦,而且Windows的警告也只是说禁用以后可能会造成系统无法重新启动,而我电脑的重启动功能一直很正常呀。唉,Windows的话你怎能全信呢?
所以,不管物理内存有多大,虚拟内存对于睡眠模式的意义却是物理内存所无法替代的。相比之下Windows XP对此的管理就好多了,它的虚拟内存(即pagefile.sys)是专用于数据交换的,待机模式时数据依旧保留在物理内存中,休眠模式也有其专用的休眠文件(Hiberfil.sys),不像Windows 98那样三心二意!所以有条件的朋友就赶紧升级到Windows XP吧。