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