一日,某朋友打來電話說,她的電腦出了點問題,讓我幫忙解決一下。細問之下才知道事情的經過:
原來那位朋友因有事要出去一下,但時間又不長,於是就想讓電腦進入睡眠模式(Windows 98),可是點擊“開始→關閉系統”後才驚訝地發現,以前一直排在第一位的“將您的計算機轉入睡眠狀態”這一項竟然沒有了!
她自己也從沒注意到這一項究竟是什麼時候失蹤的,回來後重啟系統,問題依舊!她雖是位愛思考的教師,但對此還是百思不得其解,於是向我請教。
聽完她的敘述後,我的第一個反應就是問她以前是否曾經在睡眠模式下出錯並死機過?因為這種情況大多是由於在睡眠模式下死機後Windows在注冊表裡禁用了這項功能而導致的。如果是這樣的話,問題處理起來就比較簡單了,只要修改注冊表裡的相關鍵值即可。可朋友給我的回答卻是:以前從沒發生過這種情況。糟了,此路不通!
我又想到了第二種可能情況:高級電源管理的支持。一般來說現在購買的電腦都支持高級電源管理功能。朋友告訴我,她以前這項功能一直用得很好的,也沒刪過Windows下的任何文件,主板驅動也重裝了,更沒有改動過CMOS裡的項目。唉!看來這也是條死胡同,還是另找出路吧。思來想去,既然從外部不能解決問題,那為何不換個角度從內部去思考呢?
大家都知道,進入睡眠狀態的過程其實就是Windows把物理內存中的項目調度到虛擬內存中去的過程。順著這條思路,我逐漸把注意力集中到了虛擬內存上。既然睡眠狀態必須要用到虛擬內存,那麼如果禁用了虛擬內存Windows會有什麼反應呢?死機?黑屏?非法操作?無法進入待機狀態?誰知道呢,反正Windows什麼都干得出來!看來只能自己動手了。
為了證實這種結果,我在自己的電腦上打開“開始→設置→控制面板→系統”,進入“性能”選項卡的“虛擬內存”子頁面,在“禁用虛擬內存”前的方框裡打上了小鉤(如圖1),按下了“確定”按鈕。不理會Windows的警告,重新啟動!再次進入系統後——咦?我的睡眠模式也不見了!趕緊啟用虛擬內存,再次重啟,睡眠模式又回來了!為了證實朋友的問題是否也與此有關,我撥通了她的電話……朋友回答說:我都已經有256MB內存了,還要虛擬內存干嗎?我當然就禁用啦,而且Windows的警告也只是說禁用以後可能會造成系統無法重新啟動,而我電腦的重啟動功能一直很正常呀。唉,Windows的話你怎能全信呢?
所以,不管物理內存有多大,虛擬內存對於睡眠模式的意義卻是物理內存所無法替代的。相比之下Windows XP對此的管理就好多了,它的虛擬內存(即pagefile.sys)是專用於數據交換的,待機模式時數據依舊保留在物理內存中,休眠模式也有其專用的休眠文件(Hiberfil.sys),不像Windows 98那樣三心二意!所以有條件的朋友就趕緊升級到Windows XP吧。