加快 Windows Vista 的關(guān)機(jī)速度

2010-08-28 10:50:09來源:西部e網(wǎng)作者:

  長期以來,Windows 系統(tǒng)緩慢的關(guān)機(jī)速度一直為人詬病,用戶往往需要等待很長時(shí)間才能把系統(tǒng)關(guān)閉,這一問題在Windows Vista中也沒有得到很好的解決,——也許微軟將Windows Vista開始菜單中的關(guān)機(jī)(Power)按鈕預(yù)設(shè)為進(jìn)入睡眠狀態(tài)而不是傳統(tǒng)意義上的關(guān)機(jī),也有這方面的考慮? 畢竟進(jìn)行睡眠狀態(tài)的速度是有保障的。——當(dāng)然,這也與Windows 系統(tǒng)自身的機(jī)制有關(guān):Windows在發(fā)出關(guān)機(jī)指令后,需要首先通知已加載有服務(wù)、應(yīng)用程序和進(jìn)程等,待其逐一關(guān)閉后才能進(jìn)行系統(tǒng)關(guān)機(jī)或重啟的任務(wù),此外,關(guān)機(jī)前要進(jìn)行的操作還包括如清理頁面文件等,需要對(duì)頁面文件中的每個(gè)頁面執(zhí)行物理寫入操作,從理論上講,這些過程是不可省略的,不然將影響系統(tǒng)的穩(wěn)定性。

  因此,對(duì)用戶而言,要加快Windows Vista的關(guān)機(jī)速度,在保證系統(tǒng)穩(wěn)定性前提下可做的優(yōu)化不是跳過類似的服務(wù)、應(yīng)用程序或進(jìn)程的關(guān)閉,而是通過盡量縮短關(guān)閉前的等待時(shí)間。那么,在Windows Vista中,應(yīng)如何操作呢?

  同之前的Windows系統(tǒng)一樣,我們可以通過修改注冊(cè)表調(diào)整相應(yīng)選項(xiàng)來實(shí)現(xiàn)! 

  縮短關(guān)閉服務(wù)前的等待時(shí)間

  上面我們提到過,在Windows Vista的關(guān)機(jī)流程中,系統(tǒng)首先向已加載的服務(wù)發(fā)出關(guān)閉警告,然后等待這些服務(wù)自動(dòng)關(guān)閉后給出的關(guān)閉信號(hào),如果在設(shè)定的等待時(shí)間期限后仍未收到關(guān)閉信號(hào),Windows系統(tǒng)將相應(yīng)的服務(wù)實(shí)施強(qiáng)行中止關(guān)閉。

  要加快Windows Vista的關(guān)機(jī)速度,首先可以通過縮短系統(tǒng)默認(rèn)的關(guān)閉服務(wù)等待時(shí)間來實(shí)現(xiàn)。打開注冊(cè)表編輯器,找到如下注冊(cè)表項(xiàng):  

  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

  在右面板中,可以看到一個(gè)名為“WaitToKillServiceTimeout”的注冊(cè)表項(xiàng),雙擊以修改它,將它的數(shù)值從默認(rèn)的20000(單位為毫秒)調(diào)整到一個(gè)較小的數(shù)值,如5000 甚至1000等,這樣,如果Windows Vista在設(shè)置的5秒(5000)或1秒(1000)內(nèi)沒有收到服務(wù)關(guān)閉信號(hào),系統(tǒng)即會(huì)彈出一個(gè)警告窗口,通知用戶該服務(wù)無法中止,并給出強(qiáng)制中止服務(wù)或繼續(xù)等待的選項(xiàng)等待用戶選擇! 

  縮短關(guān)閉應(yīng)用程序與進(jìn)程前的等待時(shí)間

  與關(guān)閉服務(wù)前的等待時(shí)間類似,Windows Vista在強(qiáng)行關(guān)閉應(yīng)用程序與進(jìn)程前同樣有一段等待該程序或進(jìn)程自行關(guān)閉的時(shí)間,只有超過該時(shí)限后,Windows 系統(tǒng)才會(huì)將其強(qiáng)行中止。

  因此,縮短默認(rèn)關(guān)閉應(yīng)用程序或進(jìn)行等待時(shí)間,同樣能夠加快Windows Vista的關(guān)機(jī)速度。

  設(shè)置方法同上面類似,在注冊(cè)表中找到如下分支:  

  HKEY_CURRENT_USER\Control Panel\Desktop

  雙擊右側(cè)面板中的 “WaitToKillAppTimeout” ,將其值從默認(rèn)的 20000(單位同樣為毫秒)修改為較小的5000或1000,這樣,Windows在發(fā)出關(guān)機(jī)指令后如果等待5秒或1秒仍未收到某個(gè)應(yīng)用程序或進(jìn)行的關(guān)閉信號(hào),將彈出相應(yīng)的警告信號(hào),并詢問用戶是否強(qiáng)行中止。

  在右側(cè)面板中還有一個(gè)名為 “HungAppTimeout” 的注冊(cè)表項(xiàng),該項(xiàng)對(duì)應(yīng)于系統(tǒng)在用戶強(qiáng)行關(guān)閉某個(gè)進(jìn)程或應(yīng)用程序后,如果該對(duì)象沒有響應(yīng)時(shí)的等待時(shí)間。其默認(rèn)值為“5000”,一般可將其修改為“1000”。

  然后,在如下的注冊(cè)表分支:  

  HKEY_USERS\.DEFAULT\Control Panel\Desktop\

  重復(fù)上面的操作,即修改“WaitToKillAppTimeout”與 “HungAppTimeout” 兩個(gè)注冊(cè)表項(xiàng)的值。

  在關(guān)機(jī)或注銷時(shí)自動(dòng)中止應(yīng)用程序或進(jìn)程

  不過,即便我們將 “HungAppTimeout”的值設(shè)得很小,并不意味著Windows Vista在等待時(shí)間超過該時(shí)限后便會(huì)自動(dòng)中止該程序或進(jìn)程,而仍會(huì)彈出對(duì)話框讓用戶確認(rèn)是否中止。如果您感覺這樣的方式過于繁瑣,可通過修改注冊(cè)表項(xiàng)讓W(xué)indows Vista在超過等待時(shí)限后自動(dòng)強(qiáng)行中斷該進(jìn)程的運(yùn)行。

  找到如下的注冊(cè)表分支:  

  HKEY_CURRENT_USER\Control Panel\Desktop registry

  可看到項(xiàng)中有一名為“AutoEndTasks”的注冊(cè)表項(xiàng),其默認(rèn)值為“0”,將其修改為“1”即是讓W(xué)indows Vista自動(dòng)終止所有的進(jìn)程,而不再需用戶的確認(rèn)! 

  以保證系統(tǒng)的穩(wěn)定性為前提

  盡管上面的方法在某些情況下可以明顯加快Windows Vista的關(guān)機(jī)速度。不過,需要強(qiáng)調(diào)的是,無論“WaitToKillServiceTimeout”、“WaitToKillAppTimeout”還是“HungAppTimeout”,對(duì)Windows 系統(tǒng)而言都是相當(dāng)重要且不可缺少的參數(shù),設(shè)置不當(dāng)將影響系統(tǒng)的穩(wěn)定性或遺失用戶重要數(shù)據(jù)的后果。

  以“WaitToKillServiceTimeout”為例,Windows 系統(tǒng)使用WaitToKillServiceTimeout的目的是為了給相應(yīng)服務(wù)一段緩沖時(shí)間,讓這些執(zhí)行中的服務(wù)能夠?qū)⒕彺嬷械臄?shù)據(jù)在系統(tǒng)關(guān)閉前寫回去,如果沒有保留足夠的緩沖時(shí)間,數(shù)據(jù)便可能丟失而造成無法預(yù)知的后果,因此,一般不要將其時(shí)長設(shè)置得過短,至于將其設(shè)為“0”則更是不恰當(dāng)?shù)摹?

  另:上述修改方法同樣適用于Windows 2000、 Windows XP與 Windows 2003。

關(guān)鍵詞:Vista

贊助商鏈接: