enter 發表於 2005-10-12 23:23:46

快不一定就是好,關於加快關機速度的問題(WinXP)

快不一定就是好,關於加快關機速度的問題(WinXP)主要探討登錄檔中的 WaitToKillServiceTimeout、 WaitToKillAppTimeout 以及 HungAppTimeout 設定,今天所講的範圍,適用 於 Windows XP、Windows 2000 以及 Windows NT 這些以 NT 技術為發展基礎 的作業系統上。某一本雜誌上說,把Windows XP 登錄檔裡面的 Wait To Kill Service Timeout數值設越小,關機速度越快,請問這是真的?為什麼呢?會 不會有什麼危險?我可以把他設成 0 嗎?WaitToKillServiceTimeout數值設的越小,關機速度越快,這樣的說法沒有不 對,然而,雜誌上只只說了一半,另一半卻沒說。現在市面上有釵h的電腦書籍,可能都是為了求速成跟銷量吧,或是受於版面 的限制,有些牽涉系統設定的技巧,都沒有講解得很詳細,只告訴你要這樣改 ,但是沒有告訴你為什麼要這樣改,可能連帶的影響有哪些..等等細節,讀者 也只好依樣畫葫蘆,學起來是似懂非懂。 如果可以對每一項修改都能仔細說明的話,我相信讀者都有能力去判斷要不要 這樣改,而不是不究理、囫圇吞棗的套用。 不過,要是真的講這麼詳細的話,市面上那些小本的密技也就不用出了,寫不 下,一定會變成厚厚的一本,再加上釵h人也只想立刻套用,講求速成,不想 去多了解其中的「為什麼」,在這種習慣影響下,隨處都充斥著似是而非的觀 念。 WaitToKillServiceTimeout 位在: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 單位是微秒(microseconds,1000 microseconds = 1 second) Windows XP 的預設值是20000,就是20秒的意思,WaitToKillServiceTimeout 是 用來等待終止Service的時間,就是說:我在關機的時候,如果有某個 Service 超過20秒鐘你還不自動停止的話,我作業系統就強迫把你停掉,不等 你了。 WaitToKillServiceTimeout其實也只是「最大寬限」而已,好比說我雖設20秒 ,假如我所有 Service 都自動在5 秒內終止,作業系統並不會還在那裡傻傻 等下去,如果所有 Service 登自動停了,作業系統會繼續他的關機步驟,並 不會等到時間到才進行下一步。 那我可不可以把等待的時間縮短或延長? 很難說,因為每個電腦的環境都不同,不能統一規定,這就像看病一樣,甲跟 乙都是感冒,但是可能拿的藥會不一樣,因為醫生會針對他們的體質來開藥方 ,在電腦上也是類似的道理。 把時間設短,在甲的電腦上可能沒事,一切正常,乙依樣套用,且果他的電腦 卻死翹翹了,為什麼?可能乙電腦上所跑的 Service 本來就需要長一點的時 間結束,甲電腦上根本沒有安裝這些 Service,所以再短的時間也沒有影響, 不明究理縮短時間的結果,就是出現一堆莫名其妙的狀況。 WaitToKillServiceTimeout不建議任意更動或設得太短,為什麼呢? 前面解釋過,WaitToKillServiceTimeout就是在給Service一段緩衝時間,讓 這些執行中的 Service 有足夠時間將 Cache 中的資料在系統結束前寫回去, 如果沒有保留足夠的緩衝時間,資料就會遺失,接著會發生什麼事情,誰也沒 有辦法預料的。 尤其是作為伺服器用途的機器在修改 WaitToKillServiceTimeou 數值的時 候更須小心,像 DHCP、DNS、WINS、Exchange、SQL servers ..等等這些 Service 所需要停止的時間,絕對比一般長釵h,任意強迫終止的話,只會造 成資料的流失,不可能獲得任何的好處。 與 WaitToKillServiceTimeout 相似的還有:WaitToKillAppTimeout 以及 HungAppTimeout,不過後兩者的影響就不會像 WaitToKillServiceTimeout 那 麼嚴重了。 WaitToKillAppTimeout、以及 HungAppTimeout 都是位在登錄中的: HKEY_CURRENT_USERControlPanelDesktop 以下分別解釋用途: WaitToKillAppTimeout 是指等待目前執行中程式的逾時的時間。你下達關機指令後,作業系統會送 出關機指令給目前執行中的應用程式,要求結束作業,這時候,如果其中有當 掉的應用程式,作業系統當然就收不到來自這個程式的回應,作業系統就把這 個程式列為沒有回應。 WaitToKillAppTimeout 就是告訴作業系統我該等你這個程式多久,超過這個 時間要是是你這個程式再不給我回應的話,我就關機不管你了。 同時作業系統也會進行倒數計時,顯示還有多久將關閉這個沒有回應的程式。 (預設值是20000 microseconds,就是 20 秒) HungAppTimeout 就是在關機前,還要待等這些已經沒有回應的程式多久,算是最後通牒,預設 值是5000 microseconds,就是 5 秒鐘。 既然我們了解到這些只是去設定去等已經沒有回應的那個程式的時間,那麼設 短一點也無所謂了。 其實影響關機速度因素非常多,今天所講的「等待」的時間,幾乎是無關輕重 。影響關機速度的原因很難一一列舉,從不良的驅動程式、有瑕疵的硬體、硬 體間的彼此衝突、記憶體不足、甚至病毒,都會影響關機時間,絕對不是像某 些書上所說,改這幾個登錄就可以解決,這等於是給讀者不切實際的期望,而 不是對症下藥。

bird 發表於 2005-10-22 17:18:22

good
頁: [1]
查看完整版本: 快不一定就是好,關於加快關機速度的問題(WinXP)