Что такое Service Host процесс (svchost.exe) и почему их так много?

0
1253
просмотров
Что такое Service Host процесс (svchost.exe) и почему их так много?

Если Вы когда-нибудь просматривали Диспетчер задач, то, возможно, Вы задавались вопросом, почему запущенно так много Service Host процессов. Вы не можете убить их, и Вы точно не запускали их. Итак, что это?

Что такое Service Host процесс

Вот ответ, согласно Microsoft:

Svchost.exe — это общее имя хоста для служб, которые запускаются из библиотек динамической компоновки.

Но это не очень помогло нам понять что это. Некоторое время назад корпорация Майкрософт начала изменять большую часть функциональности Windows с использования внутренних служб Windows (которые запускались из EXE-файлов) на использование DLL-файлов. С точки зрения программирования это делает код более многоразовым и, возможно, легче поддерживать в актуальном состоянии. Проблема в том, что Вы не можете запускать DLL-файл непосредственно из Windows так же, как и исполняемый файл. Вместо этого оболочка, загружаемая из исполняемого файла, используется для размещения этих DLL-сервисов. Так появился процесс Service Host (svchost.exe).

Почему запущено так много Service Host процессов

Если Вы когда-нибудь просматривали раздел «Службы» в панели управления, то Вы, вероятно, заметили, что Windows требует много сервисов. Если каждая отдельная служба будет работать под одним Service Host процессом, то отказ в одной службе может привести к сбою всей Windows. Поэтому они отделены друг от друга.

Службы организованы в логические группы, которые все связаны друг с другом, а затем создается один экземпляр Service Host процесса для размещения каждой группы. Например, один Service Host процесс запускает три службы, связанные с брандмауэром. Другой Service Host процесс может запускать все службы, связанные с пользовательским интерфейсом, и так далее. На приведенном ниже изображении, например, Вы можете видеть, что один Service Host (узел службы) процесс запускает несколько связанных сетевых служб, а другой запускает службы, связанные с удаленными вызовами процедур.

Читайте также  Что такое Microsoft .NET Framework и почему она установлена ​​на моем ПК?

Что такое хост-процесс службы (svchost.exe) и почему их так много?

Что мне делать со всей этой информацией?

Честно говоря, не так много. Во времена Windows XP (и предыдущих версий), когда на компьютерах было гораздо больше ограниченных ресурсов и операционные системы не были столь тонко настроены, часто рекомендовалось останавливать Windows от запуска ненужных служб. Теперь мы больше не рекомендуем отключать службы. Современные ПК, как правило, обладают большой памятью и мощными процессорами. Добавьте к этому тот факт, что способ обработки Windows-служб в современных версиях (в том числе и запущенных) был оптимизирован, и отключение служб, которые, по Вашему мнению, Вам не нужны, действительно не имеют большого влияния.

Тем не менее, если Вы заметили, что конкретный экземпляр Service Host или связанная с ним служба вызывает проблемы, такие как постоянное чрезмерное использование процессора или ОЗУ, то Вы можете проверить сервисы, которые задействованы. Это может по крайней мере дать Вам представление о том, где начать поиск и устранение неисправностей. Существует несколько способов узнать, какие службы содержатся в определенном экземпляре Service Host. Вы можете посмотреть это в диспетчере задач или использовать отличное стороннее приложение под названием Process Explorer.

Проверка связанных служб в диспетчере задач

Если вы используете Windows 8 или 10, процессы отображаются на вкладке «Процессы» диспетчера задач. Если процесс служит хостом для нескольких служб, то Вы можете увидеть эти службы, просто развернув процесс. Это позволит легко определить, какие службы относятся к каждому экземпляру Service Host процесса.

Что такое Service Host процесс (svchost.exe) и почему их так много?
Вы можете щелкнуть правой кнопкой мыши по любой отдельной службе, чтобы остановить службу, просмотреть ее в приложении «Службы» или даже выполнить поиск в Интернете для получения информации о службе.

Что такое Service Host процесс (svchost.exe) и почему их так много?
Если Вы используете Windows 7, то все немного по-другому. Диспетчер задач Windows 7 не группирует процессы таким же образом и не отображает обычные имена процессов — он показывает только все экземпляры «svchost.exe». Нужно немного больше действий, чтобы определить службы, связанные с конкретным экземпляром «svchost.exe».

Читайте также  Что такое ошибка 503 Service Unavailable и как ее исправить

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

Что такое Service Host процесс (svchost.exe) и почему их так много?
Это действие перенаправит Вас на вкладку «Службы», где все службы, запущенные под процессом «svchost.exe», будут выбраны.

Что такое Service Host процесс (svchost.exe) и почему их так много?
Затем Вы можете увидеть полное имя каждой службы в столбце «Описание», чтобы можно было отключить эту службу, если Вы не хотите ее запускать или устранить неполадки, если они возникают.

Проверка связанных сервисов с помощью Process Explorer

Microsoft также предоставляет отличный инструмент для работы с процессами в составе линейки Sysinternals. Просто загрузите Process Explorer и запустите его — это портативное приложение, поэтому нет необходимости его устанавливать.

Для наших целей, однако, Process Explorer группирует связанные службы в каждом экземпляре «svchost.exe». Они перечислены по именам файлов, но их полные имена также отображаются в столбце «Описание». Вы также можете навести указатель мыши на любой из процессов «svchost.exe», чтобы увидеть всплывающее окно со всеми службами, связанными с этим процессом, — даже теми, которые в настоящее время не выполняются.

Что такое Service Host процесс (svchost.exe) и почему их так много?

Может ли этот процесс быть вирусом?

Сам процесс является официальным компонентом Windows. Возможно, что вирус заменил реальный Service Host собственным исполняемым файлом, что очень маловероятно. Если Вы хотите быть уверенным, то можете проверить расположение файла процесса. В диспетчере задач щелкните правой кнопкой мыши на любом Service Host процессе и выберите опцию «Открыть расположение файла».

Что такое Service Host процесс (svchost.exe) и почему их так много?
Если файл хранится в папке Windows\System32, то можете быть уверены, что это не вирус.

Что такое Service Host процесс (svchost.exe) и почему их так много?
Тем не менее, если Вы хотите быть спокойным, то Вы всегда можете просканировать систему на вирусы с помощью антивирусного сканера.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя здесь

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.