Microsoft opravil 100% vytížení CPU po nabootování aktualizovaných Windows XP

Microsoft minulý týden konečně vyřešil problém dlouhého přetěžování procesoru těsně po nabootování operačního systému Windows XP procesem svchost.exe.
Vzhledem k ukončené podpoře systému (Microsoft vydá aktualizace pro tento systém již pouze třikrát, poslední v březnu) nebylo dlouho jasné, zda li se společnost chybou bude vůbec zabývat. V prosinci byla diagnostikována příčina, kterou představoval špatně navržený algoritmus ve Windows Update Agent, který běží právě v rámci svchost.exe a je zodpovědný za automatické aktualizace Windows.

Přestože algoritmus byl v systému déle, problém se naplno projevil až po bezpečnostních aktualizacích v září 2013 a to díky většímu množství zneplatněných starších aktualizací.
Exponenciální algoritmus, který vyhodnocuje systémové aktualizace, totiž najednou začal obsahovat příliš velké množství aktualizací, které byly mezi tím zneplatněny novějšími.

Vyhodnocování takového seznamu se přitom natahuje díky tomu, že algoritmu trvá zpracování každé takovéto aktualizace dvojnásobek času, než zpracování aktualizace předchozí. Pokud je takovýchto kumulativních oprav hodně (jako například u starších verzí Internet Exploreru – více jak 40 aktualizací), je na problém zaděláno. Důsledkem je pak několikahodinové vytížení CPU na 100 %.

Řešení, které MS zvolil, se nalézá na úrovni aktualizací, nejedná se tedy o plnohodnotnou úpravu neoptimalizovaného algoritmu.

Exit mobile version