У меня есть ПК с Windows 7, у которых отключено автоматическое обновление. Я делаю обновления в пакетном режиме один раз в месяц или около того. Но каждый раз «проверка обновлений» занимает от 15 до 30 минут. Я не понимаю, почему проверка обновлений может быть такой медленной? Мне интересно, что происходит на заднем плане. Это компьютерный хэш? Неужели мои ПК с включенными автоматическими обновлениями испытывают одну и ту же участь каждый раз при загрузке (только то, чего я не знал)?
windows-7
windows-update
какой-то пользователь
источник
источник
Ответы:
Часть проверки обновлений очень медленная, потому что:
В Windows 7 используется компонентное обслуживание , что означает, что Центру обновления Windows приходится нелепо усердно работать, чтобы определять зависимости и взаимозависимости файлов и компонентов, поддерживать параллельные версии старых файлов / компонентов, в то же время делая возможным удаление отдельных обновлений. / компоненты, но не нарушая никаких других обновлений / компонентов, все время с учетом превосходства и бог знает что еще. Код, который делает все это, должен быть адски сложным.
64-разрядная версия Windows 7 должна поддерживать как 32-разрядные, так и 64-разрядные версии каждого обновления.
Windows должна поддерживать обе версии GDR и LDR для каждого обновления, что означает, что в 64-разрядной версии Windows 7 вы получаете 32-разрядную GDR, 32-разрядную LDR, 64-разрядную GDR, 64-разрядную LDR для каждого обновления.
Код Windows Update крайне неэффективен, вероятно, из-за его концептуальной сложности. Мои наблюдения за последние несколько лет заключаются в том, что, поскольку общее количество выпущенных обновлений увеличилось, время проверки обновлений увеличилось почти экспоненциально. Для меня это указывает на то, что используются какие-то рекурсивные алгоритмы, возможно, для определения превосходства или разрешения зависимостей.
К сожалению для нас, Microsoft не любит говорить о внутренностях Windows, поэтому нам приходится самим разбираться в этом или размышлять.
источник
Несколько аспектов проблемы были рассмотрены в существующих ответах. Я попытаюсь связать их вместе, перечислив причины в общем виде, не повторяя того, что уже было сказано:
Давайте посмотрим на эти моменты более подробно.
Сложности Центра обновления Windows
После выпуска обновления оно может войти в три дополнительные фазы: изменения, замена и срок действия.
Обновления обновлений . Когда вносятся изменения в ранее выпущенное обновление, оно называется «Обновление обновлений», в котором изменяются некоторые фрагменты загрузки. Это частичная, а не полная замена обновления.
Замененные обновления : это полная замена предыдущего выпуска или выпусков. Иногда Microsoft объединяет несколько выпусков в один пакет, и этот пакет заменяет инкапсулированные обновления.
Обновления с истекшим сроком действия : это обновления, удаленные из списка действительных обновлений. Такие обновления больше не применяются и не будут обнаружены для установки. В большинстве случаев срок действия обновления истекает после его замены Замененным обновлением.
Обновления также имеют механизм зависимости, что означает, что для некоторых обновлений могут потребоваться другие обновления, которые должны быть применены в первую очередь.
Обновления с истекшим сроком действия являются проблематичными для производительности WU, поскольку, к сожалению, они не удаляются с компьютера, поэтому они все еще принимают участие в вычислениях, а их так много. Некоторое улучшение может быть достигнуто с помощью очистки диска для удаления устаревших обновлений Windows (сначала создайте резервную копию образа системного диска, так как WU также очень хрупок).
WU Расчеты
Из-за огромного количества возможных комбинаций Microsoft хранит все обновления на серверах WU в формате огромного дерева. Решение о том, какие обновления необходимо применить, выполняется алгоритмом сокращения дерева, который учитывает установленное клиентское оборудование и программное обеспечение, а также все уже установленные обновления, что само по себе является большой совокупностью фактов, которые требуют все будет успешно применено при сокращении.
Алгоритм не гарантированно будет успешным, а это означает, что WU вполне способен уничтожить ОС или даже сделать ее не загружаемой. Это вполне понятно, например, взять обновление A1, имеющее ревизию A2, где обновление B в зависимости от A было выпущено между A1 и A2. Теперь поймите, должен ли порядок установки быть A1-B-A2 или A1-A2-B, когда неправильное решение может быть смертельным.
Перегруженные серверы WU
В Википедии есть что сказать о статистике Центра обновления Windows :
Эти цифры, вероятно, к настоящему времени удвоились, и объясняют, почему серверы WU иногда недоступны. Я использую опцию WU «Проверить наличие обновлений, но позвольте мне выбрать», и мой собственный опыт показывает, что бывают дни и времена, когда проверка обновлений занимает больше времени, чем я готов ждать, требуя отсрочки.
Долгая история Windows 7
Windows 7 была выпущена 22 июля 2009 года. Примерно через 17 месяцев пакет обновления 1 (SP1) вышел 22 февраля 2011 года. Это было около 4,5 лет назад, что означает, что SP2 давно назрел.
Хорошая сторона пакета обновления заключается в том, что его установка стирает всю историю обновлений, так что фактически WU запускается с нуля, точно так же, как после новой установки Windows. Это, конечно, значительно ускоряет все расчеты, поскольку требуется меньше обновлений для учета.
Огромное количество существующих обновлений, начиная с SP1, объясняет, почему вычисления WU такие медленные сегодня. Для Microsoft проблема может быть решена «просто» путем обновления до более новой Windows 8.1 или Windows 10, так что WU будет иметь меньшее количество обновлений, которые следует учитывать.
Заключение
Поскольку Microsoft все еще продолжает применять многочисленные обновления для Windows 7, WU будет только замедляться с течением времени.
Одной из возможных оптимизаций является удаление устаревших обновлений Windows . Другой вариант - использовать параметр WU «Проверять наличие обновлений, но позвольте мне выбрать» и проверять наличие обновлений рано утром или поздно вечером.
Большинство обновлений также применимо к Windows 8 и 10, поэтому нагрузка на серверы Microsoft WU будет только увеличиваться, когда Windows 10 скоро выйдет. Похоже, что Microsoft также распределяет пропускную способность своих серверов WU в соответствии со своими собственными политиками, уделяя особое внимание обслуживанию более новых операционных систем, поэтому следует ожидать еще одного замедления для Windows 7 после выпуска Windows 10 вместе с непропорционально более быстрыми обновлениями. для Windows 10.
Если WU слишком медленный, единственным реальным решением является обновление до более поздней версии Windows.
Хорошие новости: SP2 для Windows 7 (и 8.1) прибыл
Microsoft опубликовала, что на самом деле является SP2 для Windows 7 и 8.1. Это обновление не будет доступно в Центре обновления Windows по неизвестной причине, поэтому его необходимо загрузить и установить вручную.
Прочтите о том, как получить его, в статье:
Microsoft пересматривает обновление Windows 7 и 8.1, но не называйте это пакетом обновления .
источник
Эта проблема появлялась и исчезала на протяжении многих лет с различными исправлениями на этом пути, поэтому вот мое обновленное руководство по этой проблеме на эту дату 5 января 2016
Это то, что я делаю, когда переустанавливаю W7 с пакетом обновления 1 или у меня возникают проблемы с обновлением Windows, которые застряли при проверке обновлений.
Если пакет обновления 1 не установлен, установите его, прежде чем следовать этому руководству.
Загрузите KB-3138612 и сохраните его там, где вы сможете найти его позже
Загрузите SUR Tool и сохраните его в том же месте
Перезагрузите компьютер и отключитесь от Интернета перед загрузкой Windows, это важно, потому что при каждой загрузке Windows будет проверять наличие обновлений в фоновом режиме, и это будет начинать проверку обновлений, зависающих снова и снова, и будет препятствовать установке загруженных пакетов, пока она не завершится. проверка, поэтому отключение от Интернета до загрузки Windows предотвращает это.
После загрузки установите KB-3138612, если требуется перезагрузка, сделайте это и не подключайтесь к Интернету.
Теперь установите пакет SUR Tool, это большой пакет, и он будет устанавливать множество обновлений наряду с очисткой и восстановлением хранилища обновлений Windows. Это также сократит количество дополнительных обновлений Windows, которые необходимо установить позже.
После установки перезагрузки пакета SUR, подключения к Интернету и ручного обновления Windows, теперь он должен работать намного быстрее. Даже после этих исправлений я видел, что некоторым ПК W7 требуется до часа, чтобы завершить проверку обновлений, если они запускаются из панели управления вручную.
Если у вас есть другие проблемы с обновлениями Windows, и установлены 2 вышеуказанных обновления, загрузите этот инструмент исправления Microsoft Windows Update (щелкните правой кнопкой мыши «Сохранить ссылку как»), запустите его и выберите агрессивный режим, чтобы полностью сбросить обновления Windows. Перезагрузитесь и попробуйте обновления Windows из панели управления снова. Этот инструмент исправляет проблемы, когда другие инструменты Microsoft Fixit дают сбой, по крайней мере, по моему опыту.
Обновление: Microsoft выпустила огромный накопительный пакет обновления для Windows 7 с пакетом обновления 1 (SP1) , похожий на пакет обновления, но они так его не называют. Это значительно ускорит обновление Windows 7 после чистой установки, больше не будет проблем с обновлением Windows и многих перезагрузок. Этот накопительный пакет обновлений обновит систему до вторника апреля 2016 года.
Это не распространяется через Центр обновления Windows, вам нужно использовать Internet Explorer, чтобы получить его, открыть IE и перейти по этому адресу
Введите в поле поиска 3125574 и нажмите клавишу ввода.
Теперь вы увидите все версии этого накопительного пакета, выберите ту, которая вам нужна, и скачайте ее там, где вы сможете найти ее позже.
Также используйте страницу каталога Центра обновления Windows, чтобы сначала загрузить и установить это обновление, 3020369 , это является обязательным условием для накопительного пакета, затем установите 3125574, также обязательно отключите его от Интернета при применении этих обновлений.
источник
Когда вы используете ETW / WPR / WPA для проверки использования ЦП во время сканирования, вы видите, что использование ЦП происходит из-за
wuaueng.dll!CUpdatesToPruneList::AddSupersedenceInfoIfNeeded
чего вызываетсяwuaueng.dll!CAgentUpdateManager::FindUpdates
. Метод AddSupersedenceInfoIfNeeded - самый медленный . Это делает то, что указывает название, и выглядит, если предлагаемые / установленные обновления Windows 7 по-прежнему необходимы или заменены (устаревшие / заменены более новыми). Это очень медленно.Благодаря последнему обновлению клиента Центра обновления Windows от июня 2016 г. , которое является частью накопительного пакета обновления Windows 7 июля 2016 г. , поиск обновлений снова выполняется быстро.
На поиск новых обновлений у меня уходит всего чуть более 1 минуты. Чтобы ускорить установку обновления KB3172605, остановите службу WindowsUpdate (
net stop wuauserv
).Этот трюк остановки службы WU значительно ускоряет установку, когда вы устанавливаете несколько обновлений MSU:
В Windows 10 Microsoft исправила проблему, следуя моему предложению, и делала обновления накопительными. Здесь вам нужно только 1 большое обновление, чтобы быть на текущем уровне патча. Эта медленная проверка больше не нужна.
источник
Если прошлые опыты с обновлением XP являются какими-либо признаками, они иногда допускают использование алгоритма экспоненциального времени . Который, когда у вас есть много обновлений ... занимает навсегда. В настоящее время обновления Win 7 находятся в аналогичной ситуации; займет много времени, хотя пока нет официального объяснения этому последнему приступу медлительности. Интересно, что это «просто случается» (со старыми версиями), когда у них выходит новая. Циничный «я» не может не представить, что кто-то может умышленно хотеть, чтобы это произошло, по принципу [старых] Windows медленно? Вам нужна новая версия. Или, может быть, это просто способ MS начать курортный сезон.
Существует исправление для некоторой медлительности WU, которая не предлагается автоматически (например, через само обновление): https://support.microsoft.com/en-us/kb/3102810 Увы, это не имело реального значения в мой случай, и я попробовал его на двух разных компьютерах, один 32-разрядный и один 64-разрядный. Кроме того, это было с октября, так что это, вероятно, не для последнего выпуска [ы].
источник
Нашел этот пост, который поможет нам хотя бы понять, что на самом деле происходит во время поиска. Это написано красиво. Поэтому я публикую это как таковой. Вы можете найти оригинальный пост здесь
Заметное изменение времени, затраченного на проверку обновления для установки, произошло, когда я изменил настройки обновления Windows на
Check for updates but let me choose whether to download and install them
источник
На мой взгляд, вам лучше всего включить обновления Windows и переключиться на опцию, которая позволяет загружать обновления, но не устанавливать автоматически. Таким образом, вы можете получить то, что вы хотите установить, не дожидаясь проверки или загрузки фоновых файлов.
Теперь, чтобы ответить, почему это медленно. Я думаю, что это просто сводится к тому, что обновления Windows были построены с учетом уменьшения заметного влияния на пользователей. Он использует службу BITS (фоновая интеллектуальная служба передачи) для проверки и загрузки обновлений.
Опять же, цель этого сервиса - работать так, чтобы это не мешало пользователю. Скорости намеренно медленные, так как Microsoft никогда не планировала, что клиенты будут включать и отключать сервис обновлений каждый месяц.
То, на что вы могли бы обратить внимание, - это настроить ваш собственный сервер WSUS. Таким образом, вы можете запретить обновления так же, как это делают корпоративные администраторы, и он может применять или отклонять выбранные обновления ко всем вашим устройствам Windows, которыми вы владеете. Создание этой рутины выборочного обновления, меньше рутины.
источник
Это происходит медленно, потому что Центр обновления Windows и несколько других компонентов системы Windows используют ядро базы данных Microsoft JET Blue , которое страдает от заведомо плохой производительности и является общим источником ресурсов.
Как уже упоминалось, в самом коде Центра обновления Windows также наблюдается некоторая степень рекурсии, приводящая к снижению производительности по мере увеличения количества обновлений.
источник
Просто чтобы добавить еще одну точку данных. Я недавно должен был поднять Vista ПК. Я вручную обновил Vista с SP1 до SP2, но проверка на обновление занимает вечность. Ничего не случилось в течение 24 часов.
Я сделал поиск в Google, который нашел решение, которое включает установку следующих обновлений:
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
После загрузки и установки обновлений вручную. Я запустил проверку обновлений в течение 10 минут, и он нашел 200 обновлений. Имейте в виду, что это для Vista, но я думаю, что нечто подобное существует и для Windows 7.
источник
У меня была эта проблема, и я впервые позволил Центру обновления Windows работать на новой машине. Советы, чтобы успешно сделать это:
Перейдите к параметрам энергопотребления, установите в режиме ожидания «никогда»
Включите автоматическое обновление Windows. Время по умолчанию 03:00 AM в порядке, так как процесс поиска также занимает время
Рекомендуется также выполнить процесс «Обновление Windows требует обновления некоторых компонентов ...» в первый раз (выполняется быстрее по сравнению с более чем 200 обновлениями в случае Windows 7)
Когда все будет обновлено правильно, вы обнаружите огромное количество исправлений (около 200). Windows также выполняла дефрагментацию и запускала обновления и сканирование Защитника Windows.
После этого оставшиеся циклы обновления Windows (поиск обновлений - установка - перезагрузка - поиск обновлений - установка - перезагрузка - поиск обновлений ... до тех пор, пока число # обновлений не станет равно 0) работают намного быстрее.
источник
Эй, я думаю, что мой предыдущий ответ был не очень хорошим, но я дал хороший совет, как заставить компьютер работать быстрее в любом случае. При новой установке Windows 7 я использую оригинальный, но все еще с установочным диском обновлений скольжения, во всяком случае, я полагаю, вы попробуйте обновить kb3102810 и kb3050256 для установить сразу после новой установки, эти два могут значительно увеличить скорость поиска и установки обновлений.
источник
Не хэширование, но да, оно проверяет много (так глубоко, как некоторые версии файлов DLL). Это медленно, независимо от того, какую систему вы используете.
В качестве решения, отключите его, и когда день или ночь вам не понадобится слишком большая система, включите ее, заставьте ее проверять наличие обновлений и дайте им всем установить.
источник