Windows更新使用的指數算法嚴重拖慢XP機器速度
Windows XP 的用戶或許已經發現,今天的 XP 要比 2001 年發布的 XP 要慢。快慢與硬件無關,而是與操作系統的一個 bug 有關。Windows XP 更新服務使用的一個更新依賴算法被發現會嚴重拖慢 XP 機器的速度。
按照設計,Windows 更新服務從微軟的更新服務器檢索補丁信息,補丁信息包含有每個補丁的信息:應用于哪個軟件,以及歷史補丁或當前已被取代的補丁。Windows 補丁是漸增的。如果全新安裝 Windows XP,你不需要逐個安裝 IE 6 發布的所有補丁,而只需要安裝***補丁,因為***補丁包含了過去的所有修正。然而,不幸的是,XP 的更新服務客戶端組件使用了一個指數擴展的算法處理歷史補丁記錄。如果系統的同一個程序安裝了許多次補丁,每一個被取代的補丁會導致執行算法的處理時間翻倍。
XP 已經有 13 年歷史,歷史補丁的記錄非常長,程序可能有 40 個以上的歷史補丁。處理更新的 svchost.exe 進程在啟動后占據了 CPU 資源,需要花一個小時以上的時間才能完成整個過程,之后系統才會正常工作。
微軟 11 月例行更新據說修復了這個問題,結果沒有;12 月例行更新號稱也修復了該問題,結果仍然沒有。明年 4 月,XP 將會停止支持,屆時微軟能不能推出修復程序已經無關緊要,用戶只要關閉更新服務,系統就能正常工作了。