7

Я использую Windows 7. Кажется, что svchost съедает много памяти.

Имя пользователя для конкретного экземпляра svchost - "Сетевая служба". Описание - "Процесс хоста для служб Windows".

Иногда он съедает 50% загрузки процессора. В других случаях это чуть менее 5%. Я не могу понять, когда это 50%, а когда нет. Но он часто колеблется - даже когда я только что загрузился и программы не запускались.

Как мне диагностировать это?

3 ответа3

7

SVC Host состоит из множества сервисов, работающих на вашем компьютере. Я рекомендую вам либо щелкнуть по нему правой кнопкой мыши и выбрать "Просмотр служб", чтобы увидеть, что на самом деле вызывает его (после выбора процессов показа у всех пользователей).

альтернативный текст

Вы также можете использовать Microsoft / Sysinternals Process Explorer, который должен показать вам более подробно, что происходит.

альтернативный текст

(Наведите указатель мыши на процесс svchost.exe в Process Explorer)

1

Проблема в том, что несколько сервисов совместно используют один процесс (очень глупый дизайн). Это совместное использование означает, что если один из них использует много памяти, вы не можете легко идентифицировать это. Хуже того, если один из них падает, все они падают. Аналогичным образом, если вы хотите убить раздутый беспорядок, все службы, содержащиеся в нем, умрут.

Существует что - то можно сделать с помощью списка диспетчера задач услуг для этого процесса, кроме межи на него с раздражением. Вы можете выделить их в свои собственные процессы svchost.exe чтобы продолжить расследование. Если svchost.exe использует много памяти и содержит только один сервис, то это является причиной.

Я бы начал с изоляции вероятных виновников, таких как Центр обновления Windows, который, как известно, вызывает раздувание svchost.exe.

Существует недавнее исправление для Центра обновления Windows, которое может помочь с этой проблемой. KB3050265, среди прочего, "... решает проблему, из-за которой производительность системы может быть уменьшена во время сканирования.Эта проблема имеет наибольшее влияние на компьютеры с небольшим объемом физической памяти ».

Существует вопрос суперпользователя, касающийся изоляции службы, если вы хотите попробовать это: « Изолировать размещенную службу (svchost.exe) в ее собственном процессе ».

Вот скриншоты проблемы, происходящей в системе, в которой служба Windows Update была изолирована от собственного процесса, подтверждая, что она является виновником:

Служба Windows Update является свиньей

Сервисный вид службы Центра обновления Windows, являющейся свиньей

Вот снимок окна диспетчера задач в той же системе после применения исправления KB3050265. Типичное поведение теперь заключается в том, что служба обновлений занимает ограничение в 300 мегабайт (намного меньше, чем раньше), в то же время связывая процессор на 100%. Не идеально, но влияние на отзывчивость системы значительно смягчено. Он заканчивается через несколько минут и исчезает: Служба Windows Update: теперь не так много

0

Помимо Sysinternals Process Explorer, есть хорошая утилита с открытым исходным кодом для анализа того, что делает svchost : svchost viewer

скриншот программы просмотра svchost

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .