Svchost vyťazuje CPU na 100% vo Windows XP

os

OS

Napriek tomu, že podpora Windows XP SP3 končí v apríli 2014, je stále veľa inštalácií (hlavne mimo podnikovej sféry), kde je podiel možno blízky až polovici, ale realita je minimálne na úrovni 1/3 XP vs 2/3 W7.

 

Ak zákazník (napriek hrozbe končiacej podpory) chce zotrvať na XPčku, prečo nie. Drvivá väčšina vecí ide a ešte nejakú dobu pôjde.

 

Čo čert nechcel (alebo možno aj chcel), posledné 2 mesiace (minimálne), sa začali zákazníci sťažovať na brutálne spomalený pc, zhodou okolností na začiatku mesiaca, pri aktualizáciach programov.

 

Analýzou sa zistilo, že za to môže služba automatických aktualizácií (prostým reštartom služby vyťaženie spadlo, a pc bol opäť použiľný).

Problémom trpili hlavne jednojadrové CPU, na 2 a viac, to v praxi nebolo veľmi poznať.

 

Google mi síce ponúkol hafo článkov a návodov, ale akosi nič nefungovalo.

 

Všetky návody hovorili o potrebe nainštalovať fix KB927891, a aktualizovať Windows Update Agent 3.0.

 

Fix pokiaľ máte nainštalovaný, dobre, ak nie nainštalujete, Agent tak isto, prípadne môžete skúsiť zopakovať inštaláciu príkazom – windowsupdateagent30-x86.exe /wuforce.

 

Poznámka – náhodou som sa pokúšal vykonať tento príkaz v tvare windowsupdateagent30-x86(1).exe /wuforce..

Nefunguje. Program sa musí volať originál, tak ako treba.

 

No a hurá ku skriptom.

 

Ten zložitejší podľa mňa nerobí o nič viac ako ten jednoduchší.

 ———- skript 1 ————

regsvr32 comcat.dll /s
regsvr32 shdoc401.dll /s
regsvr32 shdoc401.dll /i /s
regsvr32 asctrls.ocx /s
regsvr32 oleaut32.dll /s
regsvr32 shdocvw.dll /I /s
regsvr32 shdocvw.dll /s
regsvr32 browseui.dll /s
regsvr32 browseui.dll /I /s
regsvr32 msrating.dll /s
regsvr32 mlang.dll /s
regsvr32 hlink.dll /s
regsvr32 mshtmled.dll /s
regsvr32 urlmon.dll /s
regsvr32 plugin.ocx /s
regsvr32 sendmail.dll /s
regsvr32 scrobj.dll /s
regsvr32 mmefxe.ocx /s
regsvr32 corpol.dll /s
regsvr32 jscript.dll /s
regsvr32 msxml.dll /s
regsvr32 imgutil.dll /s
regsvr32 thumbvw.dll /s
regsvr32 cryptext.dll /s
regsvr32 rsabase.dll /s
regsvr32 inseng.dll /s
regsvr32 iesetup.dll /i /s
regsvr32 cryptdlg.dll /s
regsvr32 actxprxy.dll /s
regsvr32 dispex.dll /s
regsvr32 occache.dll /s
regsvr32 occache.dll /i /s
regsvr32 iepeers.dll /s
regsvr32 urlmon.dll /i /s
regsvr32 cdfview.dll /s
regsvr32 webcheck.dll /s
regsvr32 mobsync.dll /s
regsvr32 pngfilt.dll /s
regsvr32 licmgr10.dll /s
regsvr32 icmfilter.dll /s
regsvr32 hhctrl.ocx /s
regsvr32 inetcfg.dll /s
regsvr32 tdc.ocx /s
regsvr32 MSR2C.DLL /s
regsvr32 msident.dll /s
regsvr32 msieftp.dll /s
regsvr32 xmsconf.ocx /s
regsvr32 ils.dll /s
regsvr32 msoeacct.dll /s
regsvr32 inetcomm.dll /s
regsvr32 msdxm.ocx /s
regsvr32 dxmasf.dll /s
regsvr32 l3codecx.ax /s
regsvr32 acelpdec.ax /s
regsvr32 mpg4ds32.ax /s
regsvr32 voxmsdec.ax /s
regsvr32 danim.dll /s
regsvr32 Daxctle.ocx /s
regsvr32 lmrt.dll /s
regsvr32 datime.dll /s
regsvr32 dxtrans.dll /s
regsvr32 dxtmsft.dll /s
regsvr32 WEBPOST.DLL /s
regsvr32 WPWIZDLL.DLL /s
regsvr32 POSTWPP.DLL /s
regsvr32 CRSWPP.DLL /s
regsvr32 FTPWPP.DLL /s
regsvr32 FPWPP.DLL /s
regsvr32 WUAPI.DLL /s
regsvr32 WUAUENG.DLL /s
regsvr32 ATL.DLL /s
regsvr32 WUCLTUI.DLL /s
regsvr32 WUPS.DLL /s
regsvr32 WUWEB.DLL /s
regsvr32 wshom.ocx /s
regsvr32 wshext.dll /s
regsvr32 vbscript.dll /s
regsvr32 scrrun.dll mstinit.exe /setup /s
regsvr32 msnsspc.dll /SspcCreateSspiReg /s
regsvr32 msapsspc.dll /SspcCreateSspiReg /s
regsvr32 /s urlmon.dll
regsvr32 /s mshtml.dll
regsvr32 /s shdocvw.dll
regsvr32 /s browseui.dll
regsvr32 /s jscript.dll
regsvr32 /s vbscript.dll
regsvr32 /s scrrun.dll
regsvr32 /s msxml.dll
regsvr32 /s actxprxy.dll
regsvr32 /s softpub.dll
regsvr32 /s wintrust.dll
regsvr32 /s dssenh.dll
regsvr32 /s rsaenh.dll
regsvr32 /s gpkcsp.dll
regsvr32 /s sccbase.dll
regsvr32 /s slbcsp.dll
regsvr32 /s cryptdlg.dll
regsvr32 /s schannel.dll
regsvr32 /s oleaut32.dll
regsvr32 /s ole32.dll
regsvr32 /s shell32.dll
regsvr32 /s initpki.dll
regsvr32 /s msscript.ocx
regsvr32 /s dispex.dll
regsvr32 jscript.dll /s
del %temp% /Q /F
net stop wuauserv
ren %windir%\system32\catroot2 catroot2.old
cd /d %windir%\SoftwareDistribution
rd /s DataStore /Q
regsvr32 wuapi.dll /s
regsvr32 wups.dll /s
regsvr32 wuaueng.dll /s
regsvr32 wucltui.dll /s
regsvr32 wuweb.dll /s
regsvr32 msxml.dll /s
regsvr32 msxml2.dll /s
regsvr32 msxml3.dll /s
regsvr32 urlmon.dll /s
net start wuauserv
exit

———————————–

 

——— skript  2 ————-

net stop bits
net stop wuauserv
regsvr32 /u wuaueng.dll /s
del /f /s /q %windir%\SoftwareDistribution\*.*
del /f /s /q %windir%\windowsupdate.log
regsvr32 wuaueng.dll /s
net start bits
net start wuauserv
wuauclt.exe /resetauthorization /detectnow

 

———————————–

 

Samotné vykonanie skriptov (jeden návod hovoril, že ten prvý treba spustiť v Safe mode), neurobilo nič alebo som bol málo trpezlivý.

 

Vykašlal som sa nato, a spustil som Microsoft Update v IE.

Svchost asi hodinu “fučal” a v exploreri sa mi ukázal zoznam aktualizácií, ktoré čakali na inštaláciu.

(to zátaž pc počas doby skenovania aktualizácií v IE musíte proste strpieť)..

Vybral som len urgentné (asi 117 ks), a spustil aktualizáciu.

Aktualizácia prebehla, windows chcel reštart, tak ho dostal.

Po nábehu sa svchost zase rozbehol na 50% CPU (dvojjadro).

Hm … Čo ukazuje windows update ?

Ups. Prečo sú tam tie isté aktualizácie, ktoré som pred chvíľou nainštaloval cez IE ? Hm .. resetneme cache. (spustil som opäť ten menší skript).

 

A hľa, wuauclt niečo stiahol, a začal ukazovať už len záplaty, ktoré naozaj neboli nainštalované (v IE som ich vynechal).

 

Zatiaľ je svchost ticho …

 

Edit 17.10.2013

Svchost sa ráno rozfúkal. Netrvalo to dlho, zrejme len než overil ake updaty čakajú na stiahnutie.

Ak je to tak, zrejme časom bude táto doba tým väčšia, čím viac updatov bude čakať na aktualizáciu.

Čiže raz za čas treba nevyhnutne aktualizovať na zmenšenie tej overovacej doby.

Leave a Reply