Windows Update nie działa i zużywa 100% procesora (Win7 SP1) [duplikat]

79

To pytanie ma już odpowiedź tutaj:

Zauważyłem dziwne zachowanie w Windows Update (Win7 SP1). Proces svchost zużywa cały rdzeń mojej maszyny wirtualnej (VirtualBox) i nic nie robi (tzn. Nie ma ruchu sieciowego, a folder C:\Windows\SoftwareDistributionpozostaje w tym samym rozmiarze z taką samą liczbą plików). Co więcej, proces czasami pochłania dużą ilość pamięci (> 1 GB). Zauważyłem również, że czasami folder SoftwareDistributionpowiększa się z czasem, a potem nic się nie dzieje i svchost nadal pochłania cały rdzeń.

Wiem, że problem dotyczy Windows Update, ponieważ śledziłem (za pomocą Monitora zasobów), która usługa jest powiązana z powyższym zachowaniem.

Poniższy obraz pokazuje, z czym mam do czynienia:

wprowadź opis zdjęcia tutaj

Następny obraz pokazuje szczegółowe informacje o svchost:

wprowadź opis zdjęcia tutaj

Jeśli spróbuję wykonać aktualizację, nic się nie stanie. Windows Update nie postępuje. Zobacz zdjęcie poniżej:

wprowadź opis zdjęcia tutaj

Zostawiłem to urządzenie, próbując wykonać aktualizację na 4 godziny. W tym czasie zużycie procesora pozostało wysokie (jak opisano powyżej) i nie zainstalowano żadnej aktualizacji.

Moje pytanie jest następujące:

Jaki jest powód, dla którego Windows Update nie działa i nadal zużywa cały rdzeń mojego procesora, nie robiąc nic?

Powiązane pytania):

Wysokie zużycie pamięci svchost.exe - wuauserv

Cantoni
źródło
Korzystając z programu WSUS Offline , możliwe jest (głównie) obejście tego problemu.
Daniel B,
2
Nie mogę dodać odpowiedzi, ponieważ witryna uważa, że ​​mam reputację <10, oto, co zadziałało na mojej maszynie wirtualnej z systemem Windows 7. Jest to prawdopodobnie specyficzne dla maszyn wirtualnych. 1) Zwiększ liczbę rdzeni z 1 do czegoś wyższego. 2) Uruchom aktualizację 3102810 w górnej odpowiedzi poniżej. 3) Uruchom Windows Update. Może być konieczne ponowne uruchomienie komputera między nimi. Zasadniczo usługa Windows Update nie działa dobrze w przypadku 1 rdzenia.
Eugene K
Kilka komputerów w mojej sieci służbowej cały czas korzysta z jednego rdzenia przez Aktualizacje Windows, ale użytkownicy nawet tego nie zauważają. Microsoft powinien podłączyć wszystkie te komputery do rozproszonego systemu komputerowego i uzyskać setki petaFLOPS darmowej mocy obliczeniowej.
Andrei,

Odpowiedzi:

83

Naprawić

Firma Microsoft wydała aktualizację klienta Windows Update, która jest częścią pakietu zbiorczego aktualizacji z lipca 2016 r., Aby naprawić długie zawieszanie się podczas skanowania Windows Update .

Ta aktualizacja zawiera pewne ulepszenia klienta Windows Update w systemie Windows 7 z dodatkiem Service Pack 1 (SP1). Obejmuje to:

  • Optymalizacja uwzględniająca długi czas skanowania aktualizacji zgłaszanych na niektórych komputerach.
  1. Pobieranie:

  2. Zatrzymaj usługę Windows Update. To przyspiesza konfigurację aktualizacjach MSU . Można to zrobić z wiersza polecenia lub z okna menedżera usług .

  3. Wypróbuj pobraną aktualizację i sprawdź, czy przyspieszy instalację aktualizacji.

Aby móc zainstalować aktualizację, musisz najpierw zainstalować aktualizację stosu obsługi z kwietnia 2015 dla Windows 7 i Windows Server 2008 R2 (ponownie zatrzymaj usługę WU przed próbą zainstalowania MSU).

Pobierz (aktualizacja stosu serwisowego z kwietnia 2015 r.):

32-bitowy

64-bitowy

Obejście 1

Jeśli nadal nie pomaga to w wyszukiwaniu nowych aktualizacji, użyj WSUSOffline, aby uzyskać wszystkie aktualizacje.

magicandre1981
źródło
7
Nie, to nie działa. Zainstalowałem aktualizację na 64-bitowym Win7, wuauserv nadal obraca się bezużytecznie przy 100% CPU, robiąc absurdalnie nic, jak w Dzienniku zdarzeń i WindowUpdate.log, przez dłuższy czas. * westchnienie *
Tomalak,
To rozwiązało problem. Uwaga: Jeśli masz procesor z jednym rdzeniem, nic Cię nie uratuje, żadna poprawka nie pomoże. W przypadku takiego starego sprzętu po prostu wyłącz usługę Windows Update, nie możesz pracować z systemem, który jest cały czas zajęty, ryzykując, że stanie się nieaktualny, jest nieuniknione w takich sytuacjach. Problem mają także szybkie komputery, ale problem pozostaje niezauważony, ponieważ komputer sobie z tym poradzi. W dwurdzeniowym Celeronie (LGA 775) to zadziałało.
Hatoru Hansou,
1
Ta odpowiedź zadziałała dla mnie! Moja maszyna wirtualna miała dwa rdzenie, ale nawet zwiększenie jej do 6 nie pomogło wcale. Zainstalowanie tej aktualizacji jest trudne, ponieważ nie działa dobrze, gdy Windows Update już robi coś w tle. Ponowne uruchomienie usługi Windows Update, a następnie natychmiastowe zainstalowanie tej aktualizacji działało świetnie!
jlh
1
@jlh można po prostu zatrzymać usługę WU za pośrednictwem services.msc przed zainstalowaniem aktualizacji MSU. Przyspiesza to znacznie instalację.
magicandre1981
1
Połączony KB wspomina konkretne problemy, które naprawia (uaktualnienie do Win10 i aktualizacje za pomocą SCCM), ale nie ten, o który tu proszono.
Matthias Weiler
8

Po jednym dniu próby rozwiązania tego problemu utworzyłem inną maszynę wirtualną, aby sprawdzić, czy problem może się powtórzyć.

Niestety problem powtórzył się ponownie! Potem rozmawiałem o tym problemie ze znajomym i zaproponował mi wyłączenie IPv6 mojego interfejsu sieciowego Windows. Zrobiłem to i zaobserwowano dwa zachowania:

  1. Na nowej maszynie wirtualnej, kiedy wyłączyłem IPv6, zużycie procesora spadło prawie natychmiast, a aktualizacja systemu Windows działała zgodnie z oczekiwaniami.

  2. Na drugiej maszynie wirtualnej zużycie procesora nie spadło po wyłączeniu IPv6. Po zaobserwowaniu, że ponownie uruchomiłem system Windows, a zużycie procesora pozostało wysokie. Jednak po 30 minutach (około) zużycie procesora spadło i wszystko działało zgodnie z oczekiwaniami.

Oba systemy Windows zostały pomyślnie zaktualizowane po wyłączeniu protokołu IPv6.

Ważne jest, aby pamiętać, że mogę odtworzyć to zachowanie. Mam kopie mojej maszyny wirtualnej przed wyłączeniem IPv6.

Cantoni
źródło
Tylko jako kontynuacja - czy ta poprawka wydaje się nadal działać? Mój kolega miał ten sam problem (100% procesora podczas aktualizacji w 2008R2) i próbował wyłączyć IPv6. Po wprowadzeniu zmiany zrestartował się, a następnie dwie godziny później jego procesor ponownie przyspieszył.
Rion Williams
1
Witaj @ RionWilliams, W moim przypadku dla obu maszyn wirtualnych (Windows 7 Professional) to rozwiązanie działało zgodnie z opisem. Istnieją jednak inne rozwiązania, patrz tutaj: superuser.com/questions/821032/…
cantoni
Cześć znowu Cantoni. Podjęliśmy próbę zarówno poprawki IPv6, jak i kilku wymienionych w poście, który podałeś, ale bezskutecznie. Zauważyliśmy jednak, że wydaje się, że jest to problem tylko z maszynami wirtualnymi, które działają z jednym procesorem (tak jakbyś używał dwóch, zużycie procesora osiąga 50%) i dotyczy tylko komputerów z pewnym smakiem zainstalowanego programu SQL Server. Nadal badam, ale do tej pory zawęziłem je do tej pory.
Rion Williams
Wyłączenie IPv6 nie pomogło.
Paul
3
W ESXi działały serwery WS2012R2, a aktualizacje systemu Windows zużywały 100% rdzenia w nieskończoność. Wyłączenie IPv6 we właściwościach adaptera działało dla nas. Jednym z problemów, które mogą mieć wpływ na inne osoby, jest typ wirtualnej karty sieciowej: ESXi domyślnie chce używać procesora Intel PRO / 1000, co powoduje wiele problemów, ale dokumentacja VMware zaleca używanie adapterów VMXNET 3 dla WS2012 lub później. To wymaga, aby pobrać sterowniki VMXNET3 z packages.vmware.com/tools/releases/latest/windows/index.html
AlwaysLearning
5

Pomocne może być także narzędzie Windows Update do rozwiązywania problemów - to samodzielna aplikacja, która może diagnozować problemy z Windows Update i usługą inteligentnego transferu w tle (BITS).

mjturner
źródło
Doskonałe narzędzie !! Musiałem jednak uruchomić DWUKROTNIE - po raz pierwszy naprawiłem kilka rzeczy, z wyjątkiem: „brak rejestracji usługi lub jej uszkodzenie”. Ale uruchomiłem go ponownie w W-7, i to też zostało naprawione!
DaaBoss,
Niestety dla mnie narzędzie do rozwiązywania problemów obraca się również na zawsze. Utknie na „Rozwiązaniu problemów” i według Menedżera zadań svchost ponownie nasyca jeden z moich rdzeni.
AshleyZ
1

Naprawiłem to KB2889748

Wysokie użycie pamięci przez proces Svchost.exe po zainstalowaniu systemu Windows Management Framework 3.0 na komputerze z systemem Windows

MP-3
źródło