- Szczegóły
- Kategoria: Windows XP
Problem:
Czemu proces svchost.exe obciąża procesor 100% ? Komputer wolno pracuje przez obciążenie CPU 95-99% przez svchost.exe
Co się dzieje z komputerem ?
Odpowiedź:
{slider=100% zużycia procesora przez proces svchost.exe}
Microsoft udostępnił informacje, jak rozwiązać problem wykorzystania procesora w 100% przez proces svchost.exe podczas pobierania aktualizacji z użyciem mechanizmu Automatycznych Aktualizacji systemu Windows. Okazało się bowiem, że wydana we wtorek, w ramach comiesięcznego cyklu wypuszczania łatek, poprawka nie do końcca okazuje się być skutecznym rozwiązaniem usterki opisanej w artykule bazy wiedzy KB927891.
Otóż aby rozwiązać problem, należy zainstalować stosowne uaktualnienie, a także nową wersję programu Windows Update Agent, oznaczoną numerem 3.0, zgodnie z poradnikiem opublikowanym w witrynie MSDN:
Microsoft ostrzega, że wyłącznie zainstalowanie obu tych poprawek pozwoli uniknąć problemu zwiększonego zużycia procesora przez dłuższy okres czasu przy włączonych Automatycznych Aktualizacjach. Na przełomie maja i czerwca aktualizacje te będą dystrybuowane poprzez właśnie mechanizmy Automatycznych Aktualizacji oraz Windows/Microsoft Update.
Jeżeli pomimo zaaplikowania ww. poprawek problem nie zostanie rozwiązany, Microsoft radzi sprawdzić, czy aby na pewno klient WUA występuje w wersji 3.0 (sygnalizuje to wersja 7.0.6000.374 biblioteki C:\windows\system32\wuaueng.dll) i skontaktować się z działem pomocy technicznej firmy.
Źródło:centrumxp.pl
{slider=SVCHOST już nie na 100%: Microsoft naprawił wreszcie aktualizacje Windows XP}
W zeszłym roku wielu użytkowników Windows XP SP3 zauważyło, że usługa Windows Update w praktyce przestała nadawać się do użytku. Chodzi oczywiście o słynny na forach dyskusyjnych proces SVCHOST, zużywający niemal 100% dostępnej mocy procesora i powodujący „zamrożenie” systemu. Do takich zamrożeń dochodziło zwykle dwukrotnie – pierwszy raz gdy Windows Update łączyło się z serwerami Microsoftu, by pobrać listę dostępnych aktualizacji, drugi raz, gdy bardzo cierpliwy użytkownik po pobraniu listy w końcu był w stanie wyrazić zgodę na instalację tychże aktualizacji. Jeszcze gorzej było w sytuacji, gdy włączone były automatyczne aktualizacje. Usterkę wyeliminować miała listopadowa runda poprawek, ale niestety tak się nie stało, a wręcz przeciwnie, problem powrócił z jeszcze większą siłą. Okazało się też, że jego historia jest dłuższa, niż mogłoby się wydawać.
O problemie z SVCHOST wspomniano na forach TechNetu w czerwcu zeszłego roku, pierwszy wskazał na jego prawdziwą przyczynę znany dziennikarz IT i pisarz Jeff Dunteman, sugerując, że swoją genezą błąd ten sięga 2004 roku (pierwsze zgłoszenia na forum dobreprogramy.pl pochodzą z 2007 roku!), a winnym jest mechanizm aktualizacji Windows Update, wuauclt.exe. Bez pomocy Microsoftu użytkownikom XP pozostawało jedynie wyłączyć Windows Update i ręcznie aktualizować swój system. Dopiero w listopadzie Doug Neal z zespołu Windows Update opublikował wiadomość na liście dyskusyjnej patchmanagement, opisującą co się właściwie stało:
Problem powodowany jest przez klienta Windows Update, oszacowującego wyjątkowo długi łańcuch zastępstw – coś co IE6 i IE7 mają znacznie dłuższe niż jakakolwiek inna wersja IE, ze względu na ich czas na rynku. Każdy kolejne ogniwo takiego łańcucha podwaja zasoby CPU wymagane do oszacowania go w stosunku do poprzedniego ogniwa. Łańcuch jest tak długi, że jego konstrukcja dławi klienta Windows Update.
Najwyraźniej więc klient WUA, komunikując się z bazą aktualizacji ustalał, które z nich należy pobrać i zainstalować, a które zostały zastąpione przez inne i nie trzeba ich już pobierać. W miarę jak liczba aktualizacji rosła, proces zajmował coraz więcej zasobów (najwyraźniej do przeszukiwania drzewa dostępnych łatek nie wykorzystano zbyt efektywnego algorytmu, nie było też żadnego mechanizmu pozwalającego na ominięcie zbędnych już przeszukiwań). W końcu łańcuch stał się tak długi, że przekroczył limity przewidziane dla Windows Update (w pewnych sytuacjach miał nawet 40 i więcej wzajemnie zastępujących się elementów)
Microsoft postanowił więc rozwiązać problem za pomocą unieważnienia najstarszych, zbędnych, przestarzałych aktualizacji w łańcuchu aktualizacji Internet Explorera. Zrobiono to już w październikowym wydaniu poprawek bezpieczeństwa, jednak okazało się, że agent okazał się sprytniejszy od programistów i nie dał się zwieść tą sztuczką – u większości użytkowników problem nie tylko nie zniknął, ale jeszcze się zaostrzył.
W listopadowej edycji poprawek podjęto kolejną próbę z unieważnieniem starych poprawek, ale i ta się nie udała. W grudniu więc oprócz unieważniania kolejnych łatek, zdecydowano się wprowadzić zmiany w logice mechanizmu zastępowania. Niestety jednak problem wciąż pozostał nierozwiązany – pisał kilka dni po wydaniu łatek Doug Neal, przyznając, że dzieli z użytkownikami frustrację wynikającą z niemożliwości rozwiązania tego problemu przez Microsoft.
Dopiero najnowsza, styczniowa runda poprawek rozwiązała problem z SVCHOST. W oficjalnym oświadczeniu Dustin Childs, menedżer Microsoft Trustworthy Computing Group, poinformował, że przestarzałe aktualizacje Internet Explorera został zastąpione nowszymi. Pozwoliło to skrócić czas aktualizacji Windows Update, zwiększyło wydajność Windows XP i w żaden sposób nie zagraża bezpieczeństwu użytkowników.
Biorąc pod uwagę to, że już od 8 kwietnia 2014 Windows XP nie otrzyma żadnych nowych łatek, to naprawdę ładny gest ze strony Microsoftu, by naprawić niemal w ostatniej chwili tak dokuczliwą usterkę.
Rozwiązanie problemu
Aby zmusić agenta Windows Update do działania we własnej instancji SVCHOST, którą łatwo później zabić z poziomu Menedżera zadań, należy w konsoli Windows (CMD.EXE) wydać polecenie:
sc config wuauserv type= own
Następnie należy pobrać ostatnią zbiorczą poprawkę do Internet Explorera, dostępną tutaj
Źródło:dobreprogramy.pl
{/sliders}