Чому так багато процесів 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, може показати додаткову інформацію про служби, пов’язані з вибраним процесом svchost. Нещодавно ми висвітлювали як переглянути служби, пов’язані з процесом у Windows 8, тому буде гарною ідеєю скористатися цим трюком для перевірки svchost.
- Відкрийте диспетчер завдань, натиснувши кнопку Ctrl + Shift + Esc ярликом на клавіатурі або клацанням правою кнопкою миші на порожній області панелі завдань.
- У Windows 7 або Vista перейдіть на вкладку Процеси. У Windows 8 і вище перейдіть на вкладку «Відомості».
- Клацніть правою кнопкою миші потрібний процес. Припустимо, що конкретний екземпляр процесу svchost.exe займає багато пам’яті, і ви хочете дізнатися, яка служба спричиняє це, тоді клацніть цей екземпляр svchost.exe та виберіть Перейти до служби (и). Вкладка «Служби» відкриється автоматично, і всі служби, створені вибраним екземпляром процесу svchost.exe, будуть виділені.
Варіант другий: хитрість командного рядка
Відкрийте а командний рядок вікно та введіть наступне:
список завдань /svc
У ньому буде перераховано всі екземпляри процесу svchost із супутніми службами.
Цей трюк дуже корисний у Windows XP, де програма «Диспетчер завдань» не має «Перейти до служби (и)' особливість.
Це воно. Тепер ви знаєте, чому у вашій системі Windows запущено кілька процесів svchost.exe, і ви не будете збентежені, чому так багато з них має виконуватися.