Svchost вантажить процесор – ефективні способи усунення проблеми

Реалізація

Його виконуваний образ “%SystemRoot%”/”System32″/”Svchost.exe” або “%SystemRoot%”/”SysWOW64 “/”Svchost.exe” (для 32-розрядних служб, що працюють в 64-розрядних системах) виконується в кількох примірниках, кожен з яких розміщує одну або кілька служб.

Розташування системного файлу «Svchost»

Служби, запущені в Svchost, реалізовані як динамічно пов’язані бібліотеки (DLL). Ключ реєстру такої служби повинен мати значення з ім’ям ServiceDll в розділі «Параметри», вказуючи на DLL-файл відповідної служби. Їх визначення ImagePath має вигляд “%SystemRoot%”/”System32″/”Svchost.exe -k”. Сервіси, спільно використовують один і той же процес Svchost, вказують один і той же параметр, що має один запис в базі даних SCM.

У перший раз, коли процес Svchost запускається з певним параметром, він шукає значення з тим же ім’ям в ключі «HKLM»-«SOFTWARE»-«Microsoft»-«Windows NT «-«CurrentVersion»-«Svchost», яке воно інтерпретує як список імен служб. Потім він повідомляє SCM про всіх сервісах, які він розміщує. SCM не запускає другий процес Svchost для будь-якої з отриманих служб: замість цього він просто відправляє команду «почати» відповідного процесу Svchost, що містить ім’я служби, яке має бути запущено в його контексті.

Процес Svchost запускається з певним параметром, він шукає значення з тим же ім’ям в ключі «HKLM»-«SOFTWARE»-«Microsoft»-«Windows NT»-«CurrentVersion»-«Svchost»

Дивіться також:  Як правильно встановити драйвер на відеокарту AMD або Nvidia на Windows 7, 8, 10

Згідно презентації MS 2003, мінімальний робочий набір загальної служби складає приблизно 150 КБ проти 800 КБ для автономного процесу.

Service tags

Починаючи з Windows Vista, внутрішня ідентифікація сервісів межах загальних процесів (включаючи svchost) досягається з допомогою так званих Service tags. Service tags для кожного потоку зберігається в SubProcessTag його блоку середовища потоку (TEB). Service tag поширюється по всіх потоків, які потім запускають основний потік служби, за винятком потоків, створених побічно інтерфейси API потоків Windows. Набір процедур управління Service tags в даний час є не документованою API, хоча він використовується деякими утилітами Windows, такими як netstat, для відображення TCP-з’єднань, пов’язаних з кожною службою. Деякі сторонні інструменти, такі як ScTagQuery, також використовують цей API.

Svchost.exe (netsvcs)

Netsvcs — підпроцес, використовуваний svchost.exe

Netsvcs — це підпроцес, використовуваний svchost.exe (netsvcs). Якщо і коли відбувається витік пам’яті, svchost.exe починає сильно навантажувати CPU. Ця проблема виникає із-за витоку дескриптора в службі Winmgmt після установки Windows Management Framework 3.0 на вашому комп’ютері. Служба Winmgmt є службою інструментарію керування Windows (WMI) у процесі svchost.exe, яка виконується під обліковим записом LocalSystem.