Часть пользователей стала жаловаться на проблемы с производительностью их компьютеров с Windows 7. Проблема проявляется следующим образом: ежедневно, примерно в одно и то же время (у каждого пользователя время свое), компьютер начинает сильно тормозить. В диспетчере задач до 1,2 -2 Гб и 100% CPU одного ядра памяти потребляет процесс svchost.exe. В результате в течении 30-60 минут работать с компьютером невозможно, все жутко тормозит и виснет.
Проблемы наблюдались на клиентах Windows 7 SP1 x86 и x64, получающих обновления с локального сервера SCCM, используемого для управления обновлениями клиентами. На стороне клиента запускаем диспетчер задач (Task Manager) и на вкладке Процессы сортируем запущенные процесс по использованию памяти. Видим, что в настоящий процесс svchost.exe использует 11% CPU и 1,2 Гб оперативной памяти. На самом деле процесс svchost.exe – это процесс контейнер, внутри которого работают другие программы и потоки системных служб. С помощью Task Manager не получится понять, какой именно поток (служба) вызывает высокую нагрузку на систему.
Более подробную информацию о процессе и его потоках можно, к примеру, получить с помощью утилиты
Запускаем утилиту procexp.exe и находим проблемный процесс svchost.exe в списке.
Открываем его свойства и переходим на вкладку 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:
После установки обновлений, использование памяти процессом wuauserv снизилось до 200 Мб, а сам процесс сканирования стал занимать гораздо меньше времени.
Проблемы наблюдались на клиентах Windows 7 SP1 x86 и x64, получающих обновления с локального сервера SCCM, используемого для управления обновлениями клиентами. На стороне клиента запускаем диспетчер задач (Task Manager) и на вкладке Процессы сортируем запущенные процесс по использованию памяти. Видим, что в настоящий процесс svchost.exe использует 11% CPU и 1,2 Гб оперативной памяти. На самом деле процесс svchost.exe – это процесс контейнер, внутри которого работают другие программы и потоки системных служб. С помощью Task Manager не получится понять, какой именно поток (служба) вызывает высокую нагрузку на систему.
Более подробную информацию о процессе и его потоках можно, к примеру, получить с помощью утилиты
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
Марка Руссиновича.Запускаем утилиту procexp.exe и находим проблемный процесс svchost.exe в списке.
Открываем его свойства и переходим на вкладку 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 и обновили его версию по методике, описанной в статье:
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
. Проблема решилась и в течении нескольких дней не повторялась, но через какое-то время все началось заново. Видимо размер локального кэша и базы обновлений достиг каких-то пределов, и служба wuauserv опять стала «течь».Перебрали еще множество различных методик, но реально помогла только установка следующих патчей для агента обновлений Windows:
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!(Обновление WIndows Update агента от июня 2015)
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!(Обновление WIndows Update агента от июля 2015)
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!(Патч для Windows / 2008 R2, решающий проблему высокой загрузки CPU и памяти при установке обновлений через WSUS, ноябрь 2015).
После установки обновлений, использование памяти процессом wuauserv снизилось до 200 Мб, а сам процесс сканирования стал занимать гораздо меньше времени.