Защо толкова много процеси svchost.exe се изпълняват в Windows
Когато отворите раздела Процеси на диспечера на задачите в Windows 7 или раздела Подробности на Задача Мениджър в Windows 8, ще бъдете изненадани да видите, че голям брой процеси са наименувани svchost.exe. Днес ще видим защо Windows се нуждае от толкова много екземпляри на процеса SVCHOST и как да определим кой процес svchost изпълнява кои групи услуги.
Файлът svchost.exe (хост на услугата) се намира в папката C:\Windows\System32 и се използва за стартиране на различни системни услуги. Ето официално описание на този файл, предоставено от Microsoft:
Файлът Svchost.exe се намира в папката %SystemRoot%\System32. При стартиране Svchost.exe проверява частта за услугите на регистъра, за да създаде списък с услуги, които трябва да зареди. Няколко копия на Svchost.exe могат да работят едновременно. Всяка сесия Svchost.exe може да съдържа групиране от услуги. Следователно отделни услуги могат да работят в зависимост от това как и къде се стартира Svchost.exe. Това групиране на услугите позволява по-добър контрол и по-лесно отстраняване на грешки.
Групите Svchost.exe са идентифицирани в следния ключ на системния регистър:HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\SvchostВсяка стойност под този ключ представлява отделна група Svchost и се появява като отделен екземпляр, когато преглеждате активни процеси. Всяка стойност е стойност REG_MULTI_SZ и съдържа услугите, които се изпълняват под тази група Svchost. Всяка група Svchost може да съдържа едно или повече имена на услуги, които се извличат от следния ключ на системния регистър, чийто ключ Параметри съдържа стойност на ServiceDLL:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service
И така, в резултат на групирането на услугите, имаме много екземпляри на Svchost.exe, всеки от които изпълнява група услуги на екземпляр!
Нека да видим как да видите кои услуги се изпълняват в конкретен екземпляр svchost.exe.
Вариант първи: Диспечер на задачите
Вграденият инструмент, Windows Task Manager, може да показва допълнителна информация за услуги, свързани с избрания svchost процес. Наскоро покрихме как да видите услуги, свързани с процес в Windows 8, така че е добра идея да използвате този трик за проверка на svchost.
- Отворете диспечера на задачите, като натиснете Ctrl + Shift + Esc пряк път на клавиатурата или чрез щракване с десния бутон върху празна област на лентата на задачите.
- В Windows 7 или Vista отидете на раздела Процеси. В Windows 8 и по-нови версии превключете към раздела Подробности.
- Щракнете с десния бутон върху желания процес. Да предположим, че конкретен екземпляр на процес svchost.exe консумира много памет и искате да разберете коя услуга причинява това, след което щракнете върху този екземпляр на svchost.exe и изберете Отидете на услуга(и). Разделът Услуги ще се отвори автоматично и всички услуги, създадени от избрания екземпляр на процеса svchost.exe, ще бъдат маркирани.
Вариант втора: Трик с командния ред
Отворете a командния ред прозорец и въведете следното:
списък със задачи /svc
Той ще изброи всички екземпляри на процеса svchost със свързани услуги.
Този трик е много полезен в Windows XP, където приложението Task Manager няма 'Отидете на услуга(и)' отличителен белег.
Това е. Сега знаете защо множество процеси svchost.exe се изпълняват на вашата Windows система и няма да се объркате защо толкова много от тях трябва да се изпълняват.