這主要和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)行的操作還包括如清理頁(yè)面文件等,需要對(duì)頁(yè)面文件中的每個(gè)頁(yè)面執(zhí)行物理寫入操作,從理論上講,這些過(guò)程是不可省略的,不然將影響系統(tǒng)的穩(wěn)定性。
因此,對(duì)用戶而言,要加快Windows Vista的關(guān)機(jī)速度,在保證系統(tǒng)穩(wěn)定性前提下可做的優(yōu)化不是跳過(guò)類似的服務(wù)、應(yīng)用程序或進(jìn)程的關(guān)閉,而是通過(guò)盡量縮短關(guān)閉前的等待時(shí)間。那么,在Windows Vista中,應(yīng)如何操作呢?
同之前的Windows系統(tǒng)一樣,我們可以通過(guò)修改注冊(cè)表調(diào)整相應(yīng)選項(xiàng)來(lái)實(shí)現(xiàn)。
縮短關(guān)閉服務(wù)前的等待時(shí)間
上面我們提到過(guò),在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ī)速度,首先可以通過(guò)縮短系統(tǒng)默認(rèn)的關(guān)閉服務(wù)等待時(shí)間來(lái)實(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)沒(méi)有收到服務(wù)關(guān)閉信號(hào),系統(tǒng)即會(huì)彈出一個(gè)警告窗口,通知用戶該服務(wù)無(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í)間,只有超過(guò)該時(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),并詢問(wèn)用戶是否強(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ì)象沒(méi)有響應(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)程
不過(guò),即便我們將 “HungAppTimeout”的值設(shè)得很小,并不意味著Windows Vista在等待時(shí)間超過(guò)該時(shí)限后便會(huì)自動(dòng)中止該程序或進(jìn)程,而仍會(huì)彈出對(duì)話框讓用戶確認(rèn)是否中止。如果您感覺(jué)這樣的方式過(guò)于繁瑣,可通過(guò)修改注冊(cè)表項(xiàng)讓W(xué)indows Vista在超過(guò)等待時(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ī)速度。不過(guò),需要強(qiáng)調(diào)的是,無(wú)論“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)閉前寫回去,如果沒(méi)有保留足夠的緩沖時(shí)間,數(shù)據(jù)便可能丟失而造成無(wú)法預(yù)知的后果,因此,一般不要將其時(shí)長(zhǎng)設(shè)置得過(guò)短,至于將其設(shè)為“0”則更是不恰當(dāng)?shù)摹?/FONT>
這些修改方法同樣適用于Windows 2000、 Windows XP與 Windows 2003。