Как устранить неполадки, связанные с интенсивным использованием svchost.exe в Windows 7?

24

У меня проблема с Windows 7 64-bit. Я думал, что это медленно и все, но потом я увидел, что загрузка процессора всегда была около 80%, и начал искать решение.

Два из них svchost.exeпотребляют около 30% каждый, а в мониторе ресурсов есть системные прерывания, потребляющие 45% времени. Я пытался закрыть приложения, но это не имеет значения.

Я попробовал некоторые другие вещи, которые я нашел в Google, например отключить обновления системы, но это не сработало.

Я не знаю, поможет ли это, но вот мои характеристики:

Core 2 Duo 4400
ATI Radeon 4850
4 GB DDR2 RAM

РЕДАКТИРОВАТЬ

Я запустил предложенную программу и получил эту информацию; я правильно понял?

Введите описание изображения здесь


РЕДАКТИРОВАТЬ

Как вы спросили здесь, я понял это прямо сейчас? В другом TCP / IP нет ничего.

Введите описание изображения здесь

РЕДАКТИРОВАТЬ

Я запустил msconfigи забрал сервисы, которые один из svchost.exeпроцессов использовал при запуске, и теперь мой ЦП составляет около 50%, но я все еще хотел бы улучшить его. Я не могу потерять столько ресурсов процессора только из-за Windows ...


РЕДАКТИРОВАТЬ

Да, я ничего не могу сделать здесь. Я собираюсь переустановить Windows XP в ближайшее время, это действительно странно ...

Leonardo
источник

Ответы:

17

Я думаю, вы найдете Svchost Viewer полезным.

введите описание изображения здесь

Вы можете использовать его, чтобы определить, какая программа делает больше всего, просматривая количество записанных данных и тому подобное. Это должно каким-то образом помочь определить, какой процесс делает что.

KdgDev
источник
Я пытался использовать этот инструмент, но я не знаю, почему он всегда показывает svchost viewer couldn't find any running services. Требуется ли какая-либо конкретная конфигурация для отображения процессов хоста svc? Я не смог найти никакой документации по указанной ссылке.
RBT
14

Используйте программу, такую ​​как Process Explorer, чтобы определить, кто svchost.exeпотребляет ресурсы. С svchostчего бежать services.exe? Каковы аргументы командной строки для этого конкретного svchost? Есть несколько svchostпрогонов через Windows, вам нужно будет определить, какой из них потребляет эти ресурсы. Process Explorer покажет, какие службы связаны с этим процессом, а также отобразит, какие порты TCP / IP он использует.

Нажмите на тег Process, чтобы процессы отображались в древовидном формате, чтобы подтвердить, что он запускается через services.exe.

введите описание изображения здесь

Хотя, глядя на ваши вкладки Сервисов, они выглядят законно.

First svchost looks like `svchost.exe -k LocalServiceNoNetwork`
Second svchost looks like `svchost.exe -k LocalServiceNetworkRestricted`

Есть ли у вас что-то агрессивно бить брандмауэр Windows? Что показывают вкладки TCP / IP и Threads? На вкладке «Потоки» будет отображаться информация о процессорах для потоков внутри каждого процесса. Вы пытались перезапустить указанные службы или проверили свой журнал событий, чтобы увидеть много ошибок?

Вы выполняете какую-либо индексацию мультимедийных файлов или что-то в вашей локальной сети пытается получить доступ к этим мультимедийным файлам?

Это много вызовов EtwTraceMessageVa. Вы проверили свой журнал событий? При том, что он использует CPU, должно быть что-то в WMI, пишущем в ETW . Лучший вопрос, это началось недавно и у вас есть точка восстановления до того, как это произошло?

Даррен Холл
источник
Предустановленный монитор ресурсов Windows также отображает имя конкретного процесса, использующего svchost.
marcovtwout
Согласно ответу на повторяющийся вопрос, похоже, что если вы наведете указатель мыши на имя процесса, он скажет вам, какие службы работают под этим процессом svchost.
Джефф Б.
4

Я удивлен советом, который другие дали по этому вопросу (некоторые даже просто догадались ).

Для Леонардо и других, которые находят здесь свой путь, есть несколько теплиц, которые все остальные пропустили.

  • Да, начните с получения копии Process Explorer .

  • Да, затем посмотрите на SVCHOST.EXEзапущенные экземпляры и дважды щелкните тот, который сильно загружен ЦП.

  • Да, посмотрите на Servicesвкладку, чтобы узнать, какие службы размещаются в этом экземпляре svchost.

Это где все остальные остановились; этого не достаточно. Теперь вам нужно по Services.mscочереди запускать и останавливать все службы, которые размещены в запущенном экземпляре svchost, не забывая подождать и посмотреть, какое время после каждого из них, чтобы увидеть, падает ли загрузка процессора. Если это так, то последний, кого вы остановили, был виновником.

К этому моменту вы точно знаете, какая служба загружает процессор, и можете узнать, почему эта конкретная служба будет сосать циклы.

Synetech
источник
1

Ряд вирусов может работать под именем svchost, поэтому лучше убедиться, что у вас есть приличный антивирус, запущенный и обновленный. Вполне вероятно, что это не проблема Windows, связанная с вирусами.

Svchost.exe - это общее имя хост-процесса для сервисов, которые запускаются из динамически подключаемых библиотек (DLL), и вы можете проанализировать, что именно эти процессы svchost используют, используя Svchost Process Analyzer.

WheresAlice
источник
1

У меня только что один из процессов svchosts, из ниоткуда, начал калечить мой 32-битный ПК с Win7 за последние 2 дня, с (двухъядерным) процессором, зависшим на 100%. Этот конкретный процесс svchost отвечал за более чем дюжину потоков процессов сетевых сервисов, каждый из которых представлял собой стандартные необходимые сетевые сервисы.

Используя комбинацию новых предупреждений администратора в EventVwr, Sys Internals Process Explorer и svchost анализатор, я сузил его до основной причины:

Служба удаленного рабочего стола Windows Live Mesh

Отключение этого в сервисах вернуло мне около 60% моего ЦП, и этот конкретный сервис svchost отключился в диспетчере задач.

Это было тогда заменено другим, используя приблизительно 35 - 45%. Если щелкнуть правой кнопкой мыши в диспетчере задач и перейти к службе, единственной приписываемой службой был Защитник Windows .... (и мы все слышали об этом раньше).

Поскольку многие не понимают, что он установлен с Windows 7 по умолчанию (вы не можете увидеть его в списке своих программ), эта ссылка демонстрирует хорошее руководство по его отключению.

http://www.simplehelp.net/2009/03/11/how-to-disable-windows-defender-in-windows-7/

Доминик Буфтон
источник
1

У меня также была проблема с svchost.exe, вызывающая 100% загрузку процессора . Рассматриваемые службы, относящиеся к svchost, это NLASvc, LanmanWorkstation, Dnscache и CryptSvc. Моя проблема оказалась в Firefox. В последней версии они добавили plugin-container.exe, который запускается как процесс отдельно от Firefox. Идея заключается в том, что в случае сбоя плагина он не приведет к сбою Firefox или вашего сеанса просмотра. Но это сделало серфинг в моей системе невыносимым.

Решение: отключить процесс контейнера плагинов.

  • Откройте браузер Firefox.
  • Введите about: config в адресную строку и нажмите клавишу Enter.
  • Предупреждение появится. Проигнорируйте это и нажмите кнопку «Я буду осторожен, я обещаю!».
  • В поле Фильтр введите dom.ipc. Шесть настроек появятся для фильтра dom.ipc.
  • Игнорировать первый и последний параметры (dom.ipc.plugins.enabled и dom.ipc.plugins.timeoutSecs). Переключите (дважды щелкните) каждое из четырех оставшихся предпочтений, чтобы изменить значение с «true» на «false».

Все готово, перезапустите Firefox и откройте диспетчер задач Windows, чтобы увидеть, что процесс контейнера подключаемых модулей отключен.

Больше информации

Функция защиты от сбоев в Firefox 3.6 включена только для определенных плагинов. Четыре предпочтения, которые мы здесь изменили, определяют четыре различных подключаемых модуля. Это тестовый плагин NPAPI, Adobe Flash, Apple QuickTime (Windows) и Microsoft Silverlight (Windows). Эти плагины указаны в отдельном dom.ipc.plugins.enabledпредпочтении, по умолчанию установлено значение true. Мы можем отключить их, изменив их значение на false. И, таким образом, plugin-container.exe не будет работать. По умолчанию предпочтение dom.ipc.plugins.enabledуже установлено на «ложь». Так что не нужно его трогать. Здесь dom.ipc.plugins.timeoutSecsтакже не важно, так как другие значения ложны.

Надеюсь, это кому-нибудь поможет.

CHuBBNuTT
источник
0

У меня было то же самое, убил Защитника Windows и теперь я в порядке. Удачи вам.


источник
0

Используйте Sysinternal's Process Explorer

Затем найдите, какая SVCHOSTслужба работает без какого-либо родителя, потому что каждый svchost.exeдолжен быть загружен services.exe. Убейте их всех, если найдете. (Вы можете определить родителя процесса, дважды щелкнув по нему >> "Вкладка" Изображение ">> Метка" Родитель ".)

Кроме того, если у вас есть тот же вирус, что и у меня, вы должны выполнить следующие шаги.

Проверьте, есть ли процесс с именем Watermark.exeв ..\Program Files\Microsoftпапке. Затем удалите его. (Вам также лучше ЗАБЛОКИРОВАТЬ эту папку, используя ее Securityвкладку.)

Watermark.exeвводит VBScriptsкод в каждый .htmlфайл. Затем эти зараженные .htmlфайлы внедряются в SVCHOST.EXE. Поэтому проверьте несколько .htmlфайлов из разных мест, открыв их с помощью текстового редактора. * Не беги *. Если вы найдете VBScriptкод внизу вашего файла, состояние окажется хуже, чем мы надеялись.

Так что, если это тоже происходит, лучше очистить все .htmlфайлы (или) удалить код из каждого .htmlфайла.

После очистки .htmlфайлов, для меня в этой ситуации я наверняка заменил SVCHOST.EXEустановочный компакт-диск с Windows XP, используя Recovery Consoleзагрузочный.

Alvin
источник
0

Простой способ, который я использовал в Windows 7, чтобы найти все службы, работающие под определенным svchost.exe в диспетчере задач Windows, - щелкнуть правой кнопкой мыши svchost.exe и выбрать опцию « Перейти к службам» из списка. Это перейдет на вкладку сервисы и выделит все сервисы, запущенные под выбранным svchost.exe.

Аналогичная опция в командной строке для запуска,

tasklist /svc

Надеюсь, это поможет!

Анмол Сараф
источник
-1

Это может быть служба Power, запущенная одним из процессов svchost, вызывающим высокую загрузку ЦП. Попробуйте изменить режим энергосбережения с баланса (по умолчанию) на производительность и установите для режима ожидания значение «Никогда».

carmel564
источник