Mam komputery z systemem Windows 7, które mają wyłączoną automatyczną aktualizację. Robię aktualizacje wsadowo raz w miesiącu. Ale za każdym razem „sprawdzenie dostępności aktualizacji” zajmuje od 15 do 30 minut. Nie rozumiem, dlaczego sprawdzanie aktualizacji może być tak wolne? Zastanawiam się, co dzieje się w tle. Czy to hash obliczeniowy? Czy moje komputery z włączoną funkcją automatycznych aktualizacji spotykają się z tym samym losem za każdym razem, gdy się uruchamia (tylko że nie wiedziałem)?
windows-7
windows-update
jakiś użytkownik
źródło
źródło
Odpowiedzi:
Sprawdzanie aktualizacji strony jest tak powolny, ponieważ:
Windows 7 korzysta z obsługi opartej na komponentach , co oznacza, że Windows Update musi absurdalnie ciężko pracować, aby określić zależności / współzależności plików i składników, utrzymywać równoległe wersje starszych plików / komponentów, jednocześnie umożliwiając odinstalowanie poszczególnych aktualizacji / komponenty, ale bez przerywania jakichkolwiek innych aktualizacji / komponentów, cały czas biorąc pod uwagę nadrzędność i bóg wie co jeszcze. Kod, który to wszystko robi, musi być piekielnie złożony.
Windows 7 64-bit musi obsługiwać zarówno 32-bitową, jak i 64-bitową wersję każdej aktualizacji.
System Windows musi utrzymywać wersje GDR i LDR każdej aktualizacji, co oznacza, że w systemie Windows 7 64-bitowym otrzymujesz 32-bitowy GDR, 32-bitowy LDR, 64-bitowy GDR, 64-bitowy LDR dla każdej aktualizacji.
Kod Windows Update jest wysoce nieefektywny, prawdopodobnie ze względu na złożoność koncepcyjną. W ciągu ostatnich kilku lat obserwuję, że wraz ze wzrostem łącznej liczby wydanych aktualizacji czas sprawdzania aktualizacji wydłużył się niemal wykładniczo. Dla mnie to wskazuje na zastosowanie pewnego rodzaju algorytmów rekurencyjnych, być może w celu ustalenia supresji lub rozwiązania zależności.
Na nieszczęście dla nas Microsoft nie lubi rozmawiać o wewnętrznych elementach systemu Windows, więc musimy sami to wymyślić lub spekulować.
źródło
W kilku odpowiedziach omówiono kilka aspektów tego problemu. Spróbuję je powiązać, wymieniając przyczyny w ogólny sposób, bez powtarzania tego, co już powiedziano:
Przyjrzyjmy się tym punktom bardziej szczegółowo.
Złożoność Windows Update
Po wydaniu aktualizacji może ona z czasem wejść w trzy dodatkowe fazy: Korekty, Zastąpienie i Wygaśnięcie.
Aktualizacje aktualizacji : zmiany wprowadzane w poprzednio wydanej aktualizacji nazywane są aktualizacją aktualizacji, w której niektóre elementy pobierania są zmieniane. Jest to częściowa, niepełna wymiana aktualizacji.
Zastąpione aktualizacje : Jest to pełna zamiana poprzedniej wersji lub wydań. Czasami Microsoft pakuje wiele wydań w jeden pakiet, który zastępuje jego enkapsulowane aktualizacje.
Wygasłe aktualizacje : są to aktualizacje usunięte z listy prawidłowych aktualizacji. Takie aktualizacje nie mają już zastosowania i nie zostaną wykryte podczas instalacji. W większości przypadków aktualizacja wygasa po jej zastąpieniu przez zastąpioną aktualizację.
Aktualizacje mają również mechanizm zależności, co oznacza, że niektóre aktualizacje mogą wymagać wcześniejszego zastosowania innych aktualizacji.
Wygasłe aktualizacje są problematyczne dla wydajności WU, ponieważ niestety nie są usuwane z komputera, więc nadal biorą udział w obliczeniach, a jest ich tak wiele. Ulepszenia dysku można usunąć, usuwając nieaktualne aktualizacje systemu Windows (najpierw wykonaj kopię zapasową obrazu dysku systemowego, ponieważ WU jest bardzo delikatna).
Obliczenia WU
Ze względu na ogromną liczbę możliwych kombinacji, Microsoft przechowuje wszystkie aktualizacje na serwerach WU w formacie ogromnego drzewa. Decyzję o tym, które aktualizacje należy zastosować, dokonuje algorytm przycinania drzew, który uwzględnia zainstalowany sprzęt i oprogramowanie klienta, a także wszystkie już zainstalowane aktualizacje, które same w sobie stanowią dużą liczbę faktów, które wymagają wszystkie z powodzeniem stosuje się podczas przycinania.
Algorytm nie gwarantuje sukcesu, co oznacza, że WU jest w stanie całkowicie zniszczyć system operacyjny, a nawet uniemożliwić jego uruchomienie. Jest to całkowicie zrozumiałe, na przykład biorąc aktualizację A1, mając wersję A2, gdzie aktualizacja B zależna od A została wydana między A1 i A2. Teraz zastanów się, czy kolejność instalacji powinna być A1-B-A2, czy A1-A2-B, gdy błędna decyzja może być śmiertelna.
Przeciążone serwery WU
Wikipedia ma do powiedzenia na temat statystyk Windows Update :
Liczby te prawdopodobnie do tej pory podwoiły się i wyjaśniają, dlaczego czasami serwery WU są nieosiągalne. Korzystam z opcji WU „Sprawdź aktualizacje, ale pozwól mi wybrać”, a z własnego doświadczenia wynika, że są dni i godziny, kiedy sprawdzanie aktualizacji trwa dłużej niż jestem skłonny czekać, co wymaga odroczenia.
Długa historia systemu Windows 7
System Windows 7 został wydany 22 lipca 2009 r. Po około 17 miesiącach dodatek Service Pack 1 (SP1) ukazał się 22 lutego 2011 r. Było to około 4,5 lat temu, co oznacza, że SP2 jest już spóźniony.
Zaletą dodatku Service Pack jest to, że jego instalacja usuwa całą historię aktualizacji, dzięki czemu WU rozpoczyna się od zera, dokładnie tak, jak po nowej instalacji systemu Windows. To oczywiście ogromnie przyspiesza wszystkie obliczenia, ponieważ jest mniej aktualizacji do wzięcia pod uwagę.
Sama liczba istniejących aktualizacji od SP1 wyjaśnia, dlaczego obliczenia WU są dziś tak wolne. W przypadku Microsoft problem można rozwiązać „po prostu” poprzez uaktualnienie do nowszej wersji Windows 8.1 lub Windows 10, więc WU będzie mieć mniejszą liczbę aktualizacji do wzięcia pod uwagę.
Wniosek
Ponieważ Microsoft nadal stosuje liczne aktualizacje systemu Windows 7, WU będzie zwalniać z upływem czasu.
Jedną z możliwych optymalizacji jest usunięcie nieaktualnych aktualizacji systemu Windows . Innym jest użycie opcji WU „Sprawdź aktualizacje, ale pozwól mi wybrać” i sprawdź dostępność aktualizacji wcześnie rano lub późno w nocy.
Większość aktualizacji dotyczy również Windows 8 i 10, więc obciążenie serwerów WU Microsoftu zwiększy się dopiero, gdy Windows 10 zostanie wkrótce wydany. Microsoft wydaje się także spakować przepustowość swoich serwerów WU zgodnie z własnymi zasadami, z naciskiem na obsługę nowszych systemów operacyjnych, więc powinniśmy spodziewać się kolejnego spowolnienia dla Windows 7 po wydaniu Windows 10, wraz z nieproporcjonalnie szybszymi aktualizacjami dla Windows 10.
Jeśli WU jest zbyt wolny, jedynym prawdziwym rozwiązaniem jest uaktualnienie do nowszej wersji systemu Windows.
Dobra wiadomość: przybył dodatek SP2 dla systemu Windows 7 (i 8.1)
Microsoft opublikował, co tak naprawdę jest SP2 dla Windows 7 i 8.1. Ta aktualizacja nie będzie dostępna z Windows Update z nieznanego powodu, dlatego należy ją ręcznie pobrać i zainstalować.
Przeczytaj o tym, jak to zrobić w artykule:
Microsoft remontuje aktualizację Windows 7 i 8.1 - ale nie nazywaj tego dodatkiem Service Pack .
źródło
Ten problem pojawiał się i z czasem pojawiał się wraz z różnymi poprawkami, dlatego oto mój zaktualizowany przewodnik po tym problemie na dzień 5 stycznia 2016 r.
To właśnie robię, gdy ponownie instaluję W7 z dodatkiem SP1 lub mam problemy z aktualizacją Windows podczas sprawdzania dostępności aktualizacji.
Jeśli dodatek Service Pack 1 nie jest zainstalowany, zainstaluj go przed wykonaniem tej instrukcji.
Pobierz KB-3138612 i zapisz w miejscu, w którym można go później znaleźć
Pobierz narzędzie SUR, zapisz je w tym samym miejscu
Zrestartuj komputer i odłącz się od Internetu przed załadowaniem systemu Windows, jest to ważne, ponieważ podczas każdego rozruchu system Windows będzie sprawdzał aktualizacje w tle, a to rozpocznie sprawdzanie aktualizacji od nowa i zapobiegnie instalacji pobranych pakietów, dopóki nie zakończy się sprawdzanie, więc odłączenie od Internetu przed załadowaniem systemu Windows zapobiega temu.
Po uruchomieniu zainstaluj KB-3138612, jeśli wymagane jest ponowne uruchomienie, zrób to i pozostań odłączony od Internetu.
Teraz zainstaluj pakiet SUR Tool, jest to duży pakiet i zainstaluje wiele aktualizacji wraz z czyszczeniem i naprawą sklepu z aktualizacjami Windows. Zmniejszy to również, o ile więcej aktualizacji systemu Windows będzie trzeba zainstalować później.
Po ponownym uruchomieniu pakietu SUR, podłącz się do Internetu i wykonaj ręczną aktualizację Windows, powinna działać teraz znacznie szybciej. Nawet po tych poprawkach zauważyłem, że niektóre komputery W7 PC mogą skończyć sprawdzanie aktualizacji, jeśli zostaną uruchomione z Panelu sterowania ręcznie.
Jeśli masz inne problemy z aktualizacjami systemu Windows, a 2 powyższe aktualizacje są zainstalowane, pobierz to narzędzie do naprawy Microsoft Windows Update (kliknij prawym przyciskiem myszy „Zapisz link jako”), uruchom je i wybierz tryb agresywny, aby całkowicie zresetować aktualizacje systemu Windows. Uruchom ponownie i spróbuj ponownie aktualizacji systemu Windows z Panelu sterowania. To narzędzie rozwiązuje problemy, gdy inne narzędzia Microsoft Fixit zawodzą, przynajmniej z mojego doświadczenia.
Aktualizacja: Microsoft wydał ogromny pakiet zbiorczy aktualizacji dla systemu Windows 7 z dodatkiem SP1 , jest podobny do dodatku Service Pack, ale tak go nie nazywają. Sprawi to, że znacznie szybsza będzie aktualizacja systemu Windows 7 po czystej instalacji, koniec problemów z aktualizacją systemu Windows i wiele restartów. Dzięki temu pakietowi aktualizacji system zostanie zaktualizowany we wtorek kwietnia 2016 r.
To nie jest udostępniane przez Windows Update, musisz użyć Internet Explorera, aby go uzyskać, otwórz IE i przejdź do tego adresu
Wpisz w polu wyszukiwania 3125574 i naciśnij klawisz Enter.
Teraz zobaczysz wszystkie wersje tego pakietu, wybierz tę, której potrzebujesz, i pobierz ją gdzieś, gdzie możesz ją później znaleźć.
Skorzystaj również ze strony Windows Update Catalog, aby najpierw pobrać i zainstalować tę aktualizację, 3020369 , jest to warunek wstępny dla pakietu zbiorczego, a następnie zainstalować 3125574, pamiętaj również o odłączeniu od Internetu podczas stosowania tych aktualizacji.
źródło
Kiedy używasz ETW / WPR / WPA do sprawdzania wykorzystania procesora podczas skanowania, widzisz, że użycie procesora pochodzi z
wuaueng.dll!CUpdatesToPruneList::AddSupersedenceInfoIfNeeded
którego jest wywoływanewuaueng.dll!CAgentUpdateManager::FindUpdates
. Metoda AddSupersedenceInfoIfNeeded jest najwolniejsza . Robi to, co wskazuje nazwa i sprawdza, czy oferowane / zainstalowane aktualizacje systemu Windows 7 są nadal potrzebne lub zastąpione (nieaktualne / zastąpione nowszymi). To jest bardzo wolne.W przypadku ostatniej aktualizacji klienta Windows Update z czerwca 2016 r. , Która jest częścią pakietu zbiorczego aktualizacji Windows 7 lipca 2016 r. , Wyszukiwanie aktualizacji znów jest szybkie.
Wyszukiwanie nowych aktualizacji zajmuje mi nieco ponad 1 minutę. Aby przyspieszyć konfigurację aktualizacji KB3172605, zatrzymaj usługę WindowsUpdate (
net stop wuauserv
).Ta sztuczka zatrzymania usługi WU znacznie przyspiesza instalację, gdy instalujesz kilka aktualizacji MSU:
W Windows 10 Microsoft naprawił problem, postępując zgodnie z moją sugestią i sprawiając, że aktualizacje były kumulatywne. Tutaj potrzebujesz tylko 1 dużej aktualizacji, aby być na bieżącym poziomie łaty. To powolne sprawdzanie nie jest już potrzebne.
źródło
Jeśli wcześniejsze doświadczenia związane z aktualizacją XP są jakimś wskazaniem, czasami pozwalają na to algorytm wykładniczy . Który raz, gdy masz wiele aktualizacji ... trwa wiecznie. Obecnie aktualizacje Win 7 znajdują się w podobnej sytuacji; zajmuje dużo czasu, chociaż nie ma jeszcze oficjalnego wyjaśnienia tej ostatniej powolności. Interesujące jest to, że „po prostu dzieje się” (w przypadku starych wersji), gdy mają nową. Cyniczny ja nie może nie wyobrażać sobie, że ktoś może celowo chcieć, aby tak się stało, podobnie jak [stary] Windows jest wolny? Potrzebujesz nowej wersji. A może to tylko sposób na rozpoczęcie sezonu wakacyjnego w MS.
Istnieje poprawka dla pewnego rodzaju powolności WU, która nie jest oferowana automatycznie (np. Poprzez samą aktualizację): https://support.microsoft.com/en-us/kb/3102810 Niestety, nie zrobiła to żadnej różnicy w mój przypadek i próbowałem go na dwóch różnych komputerach, jednym 32-bitowym i jednym 64-bitowym. Jest też dostępny od października, więc prawdopodobnie nie dotyczy to najnowszych numerów.
źródło
Znaleziono ten post, który pomoże nam przynajmniej zrozumieć, co naprawdę dzieje się podczas wyszukiwania. Jest pięknie napisane. Więc zamieszczam to jako takie. Oryginalny post możesz znaleźć tutaj
Zauważyłem zauważalną zmianę w czasie sprawdzania aktualizacji do instalacji, kiedy zmieniłem ustawienia aktualizacji systemu Windows na
Check for updates but let me choose whether to download and install them
źródło
Moim zdaniem najlepiej jest po prostu włączyć aktualizacje systemu Windows i przejść do opcji, która pozwala pobierać aktualizacje, ale nie instalować się automatycznie. W ten sposób możesz uzyskać to, co chcesz zainstalować, bez konieczności czekania na kontrole lub pobieranie plików w tle.
Teraz, aby odpowiedzieć, dlaczego jest wolny. Myślę, że sprowadza się to po prostu do tego, że aktualizacje systemu Windows zostały zbudowane z myślą o ograniczeniu zauważalnego wpływu na użytkowników. Korzysta z usługi BITS (usługa inteligentnego transferu w tle) do sprawdzania i pobierania aktualizacji.
Ponownie, celem tej usługi jest praca w sposób, który nie będzie przeszkadzał użytkownikowi. Prędkości są z założenia celowo wolne, ponieważ Microsoft nigdy nie zamierzał, aby klienci włączali i wyłączali usługę aktualizacji co miesiąc.
To, na co możesz spojrzeć, to uzyskanie własnej konfiguracji serwera WSUS. W ten sposób możesz odmówić aktualizacji w taki sam sposób, jak robią to administratorzy korporacyjni, i może zastosować lub odrzucić te wybrane aktualizacje do wszystkich posiadanych urządzeń z systemem Windows. Czyniąc to obowiązkowym selektywnym aktualizowaniem, mniejszym obowiązkiem.
źródło
Jest powolny, ponieważ Windows Update i kilka innych składników systemu Windows używają silnika bazy danych Microsoft JET Blue , który cierpi z powodu wyjątkowo złej wydajności i ogólnie jest ogromnym zasobem.
Jak wspomnieli inni, wydaje się, że w samym kodzie Windows Update występuje pewien stopień rekurencji, co prowadzi do słabej wydajności wraz ze wzrostem liczby aktualizacji.
źródło
Aby dodać kolejny punkt danych. Niedawno muszę wprowadzić komputer z systemem Vista. Ręcznie zaktualizowałem system Vista z SP1 do SP2, ale sprawdzanie aktualizacji trwa wiecznie. Nic się nie działo przez ponad 24 godziny.
Zrobiłem trochę googlingu, który znalazł rozwiązanie, które obejmuje instalację następujących aktualizacji:
http://www.catalog.update.microsoft.com/Search.aspx?q=KB3205638%20vista http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012583%20vista http: // www.catalog.update.microsoft.com/Search.aspx?q=KB4015195%20vista http://www.catalog.update.microsoft.com/Search.aspx?q=KB4015380%20vista
Po ręcznym pobraniu i zainstalowaniu aktualizacji. Sprawdziłem aktualizację przez 10 minut i znalazłem 200 aktualizacji. Pamiętaj, że dotyczy to systemu Vista, ale myślę, że może coś podobnego istnieje również w systemie Windows 7.
źródło
Miałem ten problem i pozwoliłem Windows Update po raz pierwszy uruchomić na świeżo zainstalowanym komputerze. Wskazówki, jak to zrobić:
Przejdź do opcji energii, ustaw czas czuwania na „nigdy”
Włącz automatyczną aktualizację Windows. Domyślny czas 03:00 jest w porządku, ponieważ proces wyszukiwania również wymaga czasu
Zaleca się również, aby wykonać proces „Aktualizacja systemu Windows wymaga aktualizacji niektórych składników ...” po raz pierwszy (przebiega szybko w porównaniu do ponad 200 aktualizacji w przypadku systemu Windows 7)
Gdy wszystko zostanie poprawnie zaktualizowane, znajdziesz ogromną liczbę łat (około 200) zainstalowanych. System Windows również zdefragmentował i uruchomił aktualizacje / skany programu Windows Defender.
Następnie pozostałe cykle usługi Windows Update (wyszukiwanie aktualizacji - instalacja - ponowne uruchomienie - wyszukiwanie aktualizacji - instalacja - ponowne uruchomienie - wyszukiwanie aktualizacji ... dopóki # aktualizacji nie zmieni się na 0) działają znacznie szybciej.
źródło
Hej, myślę, że moja poprzednia odpowiedź nie była dobra, ale dałem dobrą radę, jak sprawić, by komputer i tak działał szybciej. Przy świeżej instalacji systemu Windows 7 używam oryginalnego, ale nadal z instalacyjnym dyskiem instalacyjnym aktualizacji, w każdym razie proponuję spróbować aktualizacji KB3102810 i KB3050256, aby zainstaluj zaraz po świeżej instalacji, te dwa mogą znacznie zwiększyć szybkość wyszukiwania i instalowania aktualizacji.
źródło
Nie ma mieszania, ale tak, to dużo sprawdza (tak głęboko, jak niektóre wersje plików DLL). Jest wolny, bez względu na używany system.
Jako rozwiązanie, wyłącz je, a gdy jest dzień lub noc, nie potrzebujesz zbytnio systemu, włącz go, zmuś, aby sprawdził dostępność aktualizacji i zezwolił na ich instalację.
źródło