Високе споживання пам'яті процесом Svchost.exe та службою wuauserv в Windows 10 і 7

Служба wuauserv - це стандартна служба оновлення Windows, яка використовується для сканування комп'ютера, пошуку, закачування і установки нових оновлень з вузлів Windows Update або локальних WSUS серверів. У деяких випадках служба wuauserv може працювати некоректно, викликаючи сильне навантаження на процесор комп'ютера або використовую велику частину оперативної пам'яті. Т.к служба wuauserv працює всередині процесу-контейнера svchost.exe, з точки зору користувачів це виглядає, як ніби процес svchost сильно вантажить процесор і оперативну пам'ять на вашому пристрої Windows. У цій статті ми розглянемо як вирішити проблему високого споживання пам'яті та ресурсів ЦП процесом wuauserv в Windows 7 і Windows 10.

зміст:

  • Служба Wuauserv в Windows 7 вантажить процесор і пам'ять на 50%
  • Wuauserv вантажить процесор і пам'ять в Windows 10

Служба Wuauserv в Windows 7 вантажить процесор і пам'ять на 50%

Частина користувачів стала скаржитися на проблеми з продуктивністю їхніх комп'ютерів з Windows 7. Проблема проявляється наступним чином: щодня, приблизно в один і той же час (у кожного користувача час своє), комп'ютер починає сильно гальмувати. У диспетчері завдань до 1,2 -2 Гб і 100% CPU одного ядра пам'яті споживає процес svchost.exe. В результаті протягом 30-60 хвилин працювати з комп'ютером неможливо, все жахливо гальмує і висне.

Проблеми спостерігалися на клієнтах Windows 7 SP1 x86 і x64, які отримують оновлення з локального сервера SCCM, використовуваного для управління оновленнями Microsoft на клієнтах. На стороні клієнта запускаємо диспетчер завдань (Task Manager) і на вкладці процеси сортуємо запущені процес по використанню пам'яті. Бачимо, що в даний процес svchost.exe використовує 11% CPU і 1,2 Гб оперативної пам'яті. Насправді процес svchost.exe - це процес контейнер, всередині якого працюють інші програми і потоки системних служб. За допомогою Task Manager не вийде зрозуміти, який саме потік (служба) викликає високе навантаження на систему.

Більш детальну інформацію про процес і його потоках можна, наприклад, отримати за допомогою утиліти Process Explorer Марка Руссиновича.

запускаємо утиліту procexp.exe і знаходимо в списку процес svchost.exe який споживає занадто багато пам'яті або% CPU.

Відкриваємо його властивості і переходимо на вкладку Threads (Потоки). Тут ми чітко бачимо, що в рамках процесу svchost.exe найбільше ресурсів CPU і пам'яті споживає потік служби wuauserv (Windows Update - Служба оновлень Windows). Служба wuauserv сканує систему і сервер оновлень на предмет необхідності установки оновлень. В результаті якихось проблем в коді служба починає "текти", споживає всю доступну їй пам'ять аж до 1,5-2 Гб (максимуму пам'яті який доступний процесу) і починається активно використовувати файл підкачки. Система від цього різко починає гальмувати.

Що цікаво, проблеми в більшій мірі схильні до клієнти з 2 Гб оперативної пам'яті. На ПК з 4 і більше Гб пам'яті, служба wuauserv також "витікає", але не вибирається з 2 Гб, і проблема не так явно проявляється для користувачів.

Якщо зупинити службу wuauserv з консолі services.msc, навантаження на систему різко зменшитися. А споживання пам'яті процесом svchost.exe падає до 80-100 Мб.

важливо. Це не означає, що потрібно відключати службу wuauserv і тримати її в відключеному стані, тому що система перестане отримувати оновлення безпеки і буде схильна до ризику злому.

В першу чергу спробували скинути стан агента Windows Update і оновили його версію за методикою, описаною в статті: Відновлення вихідних налаштувань агента Windows Update. Проблема вирішилася і протягом декількох днів не повторювалася, але через якийсь час все почалося заново. Мабуть розмір локального кеша і бази оновлень досяг якихось меж, і служба wuauserv знову стала "текти".

Перебрали ще безліч різних методик, але реально допомогла тільки установка наступних патчів для агента оновлень Windows 7:

  • https://support.microsoft.com/en-us/kb/3050265 (Оновлення WIndows Update агента від червня 2015)
  • https://support.microsoft.com/en-us/kb/3065987 (Оновлення WIndows Update агента з липня 2015)
  • https://support.microsoft.com/en-us/kb/3102810 (Патч для Windows / 2008 R2, що вирішує проблему високого завантаження CPU і пам'яті при установці оновлень через WSUS, листопад 2015).
Порада. Патчі ставили не на всі комп'ютери з Windows 7, а тільки на ПК, на яких користувачі скаржилися на аналогічну проблему.

Після установки оновлень, використання пам'яті процесом wuauserv знизилося до 200 Мб, а сам процес сканування став займати набагато менше часу.

Wuauserv вантажить процесор і пам'ять в Windows 10

Проблема, коли служба центру поновлення Windows сильно вантажить процесор і використовує занадто багато пам'яті зустрічається і в різних версіях Windows 10.

Відкрийте диспетчер задач і знайдіть процес svchost.exe який споживає занадто багато пам'яті або ресурсів CPU. Клацніть по ньому ПКМ і виберіть пункт "Перейти до служб".

Переконайтеся, що в рамках даного процесу svchost.exe працює служба wuauserv (Служба Windows Update).

Оскільки диспетчер задач не дозволяє визначити яка саме з системних служб, що працюють усередині одного процесу svchost сильно вантажить комп'ютер, потрібно скористатися Process Explorer (Як описано вище). Переконайтеся, що високе завантаження CPU / пам'яті викликана службою wuauserv (в нашому прикладі це бібліотека C: \ WINDOWS \ system32 \ wuaueng.dll).

На відміну від розглянутого вище кейса з витоком пам'яті в процесі служби оновлень в Windows 7, для Windows 10 відсутня універсальний патч, який дозволяє виправити проблему. Тому нижче ми перерахуємо основні кроки, які слід виконати для зменшення використання пам'яті і процесором службою оновлення Windows.

Після завершення встановлення оновлень

Якщо служба оновлень Windows в даний момент часу виконує сканування вашого комп'ютера або установку оновлень, то високе завантаження комп'ютера не повинна вас дивувати. Спробуйте почекати (1-2 години в залежності від продуктивності комп'ютера) і дочекатися поки wuauserv закінчить завантаження і установку оновлень.

Запустіть засіб усунення неполадок центру оновлень Windows 10

Спробуйте виконати діагностику служба оновлення Windows 10с допомогою вбудованого засобу усунення неполадок (Window Update Troubleshooter). Перейдіть в меню параметри -> Оновлення та безпеку -> Усунення несправностей. Виберіть пункт "Служба Windows Update (Усуньте проблеми, що заважають оновленню Windows) -> Запустити засіб усунення неполадок".

Утиліта перевірить стан служби і спробує виправити знайдені проблеми.

Очистіть папки SoftwareDistribution і catroot2

Спробуйте виконати очистку папок SoftwareDistribution і catroot2.

  • У каталозі C: \ Windows \ SoftwareDistribution зберігаються тимчасові файли служби Windows Update і файли викачаних оновлень.
  • У каталозі %windir% \ System32 \ catroot2 \ зберігаються сигнатури пакетів оновлень.

Спробуємо очистити їх за допомогою наступного скрипта (збережіть код в текстовому файлі з розширенням * .bat і запустіть з правами адміністратора):

attrib -h -r -s% windir% \ system32 \ catroot2
attrib -h -r -s% windir% \ system32 \ catroot2 \ *. *
net stop wuauserv
net stop CryptSvc
net stop BITS
ren% windir% \ system32 \ catroot2 catroot2.old
ren% windir% \ SoftwareDistribution SoftwareDistribution.old
ren "% ALLUSERSPROFILE% \ application data \ Microsoft \ Network \ downloader" downloader.old
net Start BITS
net start CryptSvc
net start wuauserv

Перевірте цілісність системних файлів Windows

Виконайте перевірку системних файлів вашого образу Windows за допомогою команд:

sfc / scannow

і

DISM / Online / Cleanup-Image / RestoreHealth

Перевірте комп'ютер на віруси

Перевірте вашу Windows на віруси в офлайн режимі за допомогою завантажувального образу (Kaspersky Rescue Disk або Dr.Web LiveDisk).

Оновлення вашу Windows 10

Оновлення вашу версію Windows 10, встановивши актуальний на даний момент часу білд. Вручну скачайте і встановіть з сайту Microsoft Update Catalog (https://www.catalog.update.microsoft.com/Home.aspx) останній кумулятивний апдейт для вашої версії Windows (Microsoft щомісяця виправляє баги і різні помилки Windows і додає виправлення в кумулятивний пакет обнволеній).

Вимкніть оптимізацію доставки

Перейдіть в меню Параметри -> Оновлення та безпека -> Служба Windows Update -> Додаткові параметри -> оптимізація доставки. Вимкніть пункт "Дозволити завантаження з інших комп'ютерів"І перезавантажте комп'ютер.

Видаліть останні оновлення

Якщо проблема з високим завантаженням процесора і пам'яттю службою wuauserv виникла відразу після установки нових оновлень Windows, спробуйте по черзі видалити останні оновлення (Панель управління -> Програми та засоби -> Перегляд встановлених оновлень). Відсортуйте поновлення за датою установки, клацніть ПКМ по оновленню і виберіть вилучити.

Вимкніть службу wuauserv

Я ніколи не рекомендую відключати службу оновлень Windows, тому що ви перестанете отримувати оновлення безпеки і піддаєте ваш комп'ютер ризику злому або зараження. Відключення служби оновлень можна використовувати як тимчасовий крок, коли інші способи відновити нормальну роботу системи не допомагають.

Відкрийте консоль управління службами (services.msc), Знайдіть службу "Центр оновлення Windows", зупиніть її і змініть тип запуску на Відключено. Збережіть зміни і перезавантажте комп'ютер.

У другий вівторок наступного місяця обов'язково вручну скачайте і встановіть нові кумулятивні оновлення для вашої версії Windows. Увімкніть службу wuauserv. Можливо ваша проблема буде виправлена ​​в новому оновленні.