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

Svсhost – це системний процес у сімейства операційних систем Windows 2000, Windows XP, Windows Vista, Windows 8, Windows 10. Svсhost має важливе значення для процесів спільного обслуговування, в той час, коли кілька сервісів може спільно користуватися одним процесом для скорочення споживання ресурсів системи. Групування сервісів в один процес економить ресурси, і це міркування турбує розробників NT, так як створення процесів в Windows займає все більше часу і споживає більше оперативної пам’яті.

Якщо одна із служб викликає необроблене виняток, весь процес може завершитися невдало. Крім того, для кінцевих користувачів може виявитися складніше ідентифікувати сервіси компонентів. Проблеми з різними розміщеними службами, особливо з Центром оновлення Windows, повідомляються користувачами, що пов’язано з Svchost.

Процес Svchost був представлений в Windows 2000, хоча базова підтримка сервісних процесів існувала з часів Windows NT 3.1.

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»

Згідно презентації 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.

Ідентифікація та управління розміщеними службами

  • у Windows XP і більш пізніх версіях команда «tasklist з ключем/svc» включає список сервісів компонентів у кожному процесі;

    Відкриваємо «Пуск», вводимо «командний рядок», відкриваємо її

    Вводимо команду tasklist/svc», натискаємо «Enter»

    Вивчаємо результат

  • у Windows Vista і Windows 7 вкладка «Служби» «Диспетчера завдань Windows включає список служб та їх груп та ідентифікаторів процесів (PID); клацніть правою кнопкою миші svchost в «Диспетчері завдань», а параметр «Перейти до послуг» також переключиться на список служб і, при необхідності, виберіть служби, запущені у відповідному svchost;

    Клацаємо правою кнопкою миші на процес svchost.exe з високим рівнем використання і вибираємо «Перейти до служб»

    На вкладці «Служби» служби, які працюють в одному процесі будуть виділені синім кольором

  • у Windows 8 інтерфейс «Диспетчера завдань» було оптимізовано таким чином, що кожна запис svchost може бути розгорнута одним клацанням миші на суб-список служб, запущених всередині нього.

Провідник Microsoft Sysinternals Process Explorer також надає інформацію про сервіси, які виконуються в процесах svchost.exe коли користувач наводить курсор на svchost.

Провідник Microsoft Sysinternals Process Explorer також надає інформацію про сервіси, які виконуються в процесах svchost

Жоден з вищеперелічених методів не дозволяє користувачеві визначити, яка з багатьох служб, запущених всередині svchost, є конкретним ресурсом, наприклад, процесор, диск, мережа або пам’ять. Монітор ресурсів Windows враховує більшість цих ресурсів, коли процес деталізовано. Тим не менш він враховує використання процесора при деталізації служб шляхом переходу на вкладку «ЦП». Список відкритих TCP-з’єднань і відкритих портів UDP можна отримати з допомогою «netstat -b».

Запускаємо командний рядок від імені адміністратора

Вводимо команду «netstat -b», натискаємо «Enter»

Вивчаємо, отриманий результат

Щоб вирішити інші проблеми з сервісом, запущеним всередині svchost, служба (або служби, які повинні викликати проблему) повинна бути (все) перенастроєна, щоб кожен з них виконувався всередині свого власного примірника svchost. Наприклад, «sc config foo type = own» перелаштує службу з ім’ям «foo», щоб запустити свій власний svchost. Зміна типу «back to the general» виконується з допомогою аналогічної команди. Щоб ці зміни конфігурації вступили в силу, необхідно перезапустити службу. Однак цей процес налагодження не є надійним. У деяких випадках може відбутися помилка heisenbug, з-за чого проблема зникає, коли служба працює окремо.

Більш складним методом усунення неполадок є створення ізольованої групи обслуговування.

Високе споживання CPU і оперативної пам’яті процесом svchost.exe

Причини високого споживання CPU і оперативної пам’яті процесом svchost.exe

Проблеми з високим рівнем використання Svchost.exe у більшості випадків відбуваються на комп’ютерах, заражених вірусом або шкідливою програмою. В інших випадках проблеми з високим ступенем завантаження процесора або проблеми з Svchost.exe (netsvcs) можуть бути викликані служби Windows update, повним файл журналу подій або іншими програмами і службами, які запускають безліч процесів під час їх виконання.

Читайте практичні поради у статті — «Як підвищити оперативну пам’ять».

Відео — Що робити, якщо svchost вантажить процесор

Як вирішити проблему з Svchost.exe (netsvcs) з високим споживанням пам’яті або CPU

Рішення 1. Скануйте комп’ютер на наявність вірусів

Запускаємо антивірус, встановлений на нашому ПК, вибираємо пункт «Сканування комп’ютера» або «Повне сканування», залежить від версії антивірусу

Багато віруси або шкідливі програми можуть викликати проблеми з високою завантаженням процесора і пам’яті svchost.exe. Тому перед тим, як продовжити усунення проблеми з завантаженням svchost.exe використовуйте різні антивірусні системи для сканування і видалення шкідливих програм.

Рішення 2. Знайдіть і вимкніть службу, яка викликає проблему з високим рівнем використання svchost

Svchost.exe — це процес, який необхідний кількома службами або програмами для їх запуску. Таким чином, визначте, який сервіс або програма виконується в процесі svchost.exe, а також завантажує ресурси вашої системи і пам’ять вашої системи, а потім переходьте до відключення або повного видалення цієї програми (або служби).

Крок 1. Натисніть клавіші «Ctrl+Alt+Del» одночасно, а потім відкрийте «Диспетчер завдань».

Відкриваємо «Диспетчер завдань»

Крок 2. На вкладці «Процеси» встановіть прапорець «Показувати процеси від всіх користувачів».

На вкладці «Процеси» встановлюємо прапорець «Відображати процеси від усіх користувачів»

Крок 3. Клацніть правою кнопкою миші на процес svchost.exe з високим рівнем використання та натисніть «Перейти до служб».

Клацаємо правою кнопкою миші на процес svchost.exe з високим рівнем використання і вибираємо «Перейти до служб»

Крок 4. На вкладці «Служби» ви повинні побачити кілька виділених служб, які виконуються в процесі svchost.exe.

На вкладці «Служби» бачимо кілька виділених служб, які виконуються в процесі svchost.exe

Крок 5. Тепер настав час з’ясувати, який процес забиває ресурси ЦП. Для цього у вас є два варіанти:

  1. Ви можете виконати послідовний пошук з використанням Google (для всіх виділених служб) і подивитися, чи є пошукова служба критичної або немає для вашого комп’ютера.
  2. Ви можете спробувати послідовно зупинити служби (одна за одною), поки ресурси ЦП не повернуться до нормального стану. Щоб тимчасово зупинити службу, виберіть службу, клацніть її правою кнопкою миші та виберіть пункт «Зупинити службу».

    Правою кнопкою миші клікаємо на службу, яка сильно навантажує процесор, вибираємо пункт «Зупинити службу»

Крок 6. Після того, як ви з’ясували винну службу або програму, перейдіть до «Керування комп’ютером» («Панель управління» / «Система і безпека» / «Адміністрування»), щоб відключити цю службу (або повністю видалити програму).

У меню «Пуск» відкриваємо «Панель управління»

В категорії «Перегляд» вибираємо «Категорія», відкриваємо розділ «Система і безпека»

Відкриваємо вкладку «Адміністрування»

Відкриваємо «Керування комп’ютером»

Розкриваємо «Служби і додатки», в правому вікні вибираємо службу і натискаємо «Зупинити»

Щоб відключити службу на вашому комп’ютері назавжди:

  1. Одночасно натисніть клавіші Windows+R», щоб відкрити вікно для введення команд.
  2. У полі введення команди запуску введіть: «services.msc» і натисніть «Enter».

    У полі «Відкрити» вводимо команду «services.msc», натискаємо «Enter»

  3. У вікні «Керування службами» клацніть правою кнопкою миші на службу і виберіть «Властивості».

    Знаходимо службу «Центр оновлення Windows»

    Клацаємо правою кнопкою миші на службу, вибираємо «Властивості»

    Примітка! У більшості випадків винною службою є «Центр оновлення Windows».

  4. Змініть тип запуску на «Вимкнено», натисніть «ОК» і перезавантажте комп’ютер.

    В розділі «Тип запуску» вибираємо «Відключена», натискаємо «Застосувати», потім «ОК»

Рішення 3. Порожній журнал перегляду подій

У деяких випадках проблема використання svchost.exe з високою завантаженням процесора (або великим споживанням пам’яті) пов’язана з великими файлами журналу в засобі перегляду подій Windows. Отже, ще одне рішення — очистити журнал Перегляд подій.

Для цього:

  1. Натисніть клавішу «Windows+R», щоб відкрити вікно командного рядка.
  2. В поле командного рядка введіть: «eventvwr» і натисніть «Enter».

    У полі вводимо команду «eventvwr», натискаємо «Enter»

  3. У засобі перегляду подій: двічі клацніть, щоб розгорнути «Журнали Windows».

    Лівою кнопкою миші двічі клацніть по вкладці «Журнали Windows»

  4. Клацніть правою кнопкою миші Програму і виберіть пункт «Очистити журнал».

    Натискаємо правою кнопкою миші по вкладці «Програми», вибираємо «Очистити журнал»

  5. Виконайте ті ж дії і очистіть журнал «Безпеки», «Установки» і «Системи».

    Очищаємо журнали вкладок «Безпека», «Установка», «Система»

  6. Перезавантажте комп’ютер.

Рішення 4. Виправлення неполадок Windows Updates

На інших комп’ютерах проблема з високим ступенем використання svchost.exe може виникнути, якщо Windows шукає оновлення (у фоновому режимі). Щоб усунути проблеми з високою завантаженням процесора під час «Windows update», виконайте такі дії:

Крок 1. Примусьте Windows заново створити порожню папку «Центр оновлення Windows».

Папка «Центр оновлення Windows» (зазвичай звана папкою «SoftwareDistribution») – це місце, де Windows зберігає завантажені оновлення. Якщо ця папка пошкоджена, ви зіткнетеся з проблемами під час оновлення Windows. Тому спочатку спробуйте змусити Windows заново створити нову порожню папку «SoftwareDistribution».

Для цього:

  1. Натисніть клавішу «Windows+R», щоб відкрити вікно командного рядка.
  2. У полі введення команди запуску введіть: «services.msc» і натисніть «Enter».

    У полі «Відкрити» вводимо команду «services.msc», натискаємо «Enter»

  3. Знайдіть службу «Windows Update», потім клацніть двічі лівою кнопкою миші по ній і виберіть пункт «Стоп».

    Знаходимо службу «Windows Update»

    Двічі клікаємо лівою кнопкою миші по службі «Windows Update», натискаємо на кнопку «Stop», далі «Apply», потім «ОК»

  4. Перейдіть у папку «C:»/«Windows».

    Переходимо в папку «C:»-«Windows»

  5. Видаліть (або перейменуйте) папку «SoftwareDistribution.old» в папку «SoftwareDistribution».

    Видаляємо або перейменовуємо папку «SoftwareDistribution.old»

    Задаємо нове ім’я папки «SoftwareDistribution»

    Примітка! При повторному запуску в наступний раз, коли «Центр оновлення Windows» перевіряє наявність доступних оновлень, нова папка «SoftwareDistribution» буде автоматично створена Windows для зберігання оновлень.

  6. Перезавантажте комп’ютер і спробуйте перевірити наявність оновлень.

Якщо проблема з високим рівнем використання «svchost» зберігається, перейдіть до наступного кроку.

Крок 2. Запустіть засіб усунення неполадок «Windows Update».

  1. Завантажте засіб усунення неполадок «Windows Update, Microsoft» на комп’ютер.

    На офіційному сайті Microsoft викачуємо «Windows Update, Microsoft», натиснувши на кнопку «Завантажити»

  2. Запустіть засіб усунення неполадок «Windows Update».

    Клікаємо по установчому файлу

  3. Виберіть «Windows Update» у першому вікні, та натисніть «Далі».

    Вибираємо «Windows Update», натискаємо «Далі»

  4. Чекайте поки закінчиться процес виявлення проблем.

    Процес виявлення проблем

  5. Натискаєте на посилання «Застосувати це виправлення».

    Клацаємо на кнопку «Застосувати це виправлення»

  6. Дозвольте програмі виправити проблеми з «Центром оновлень Windows» і перезавантажити комп’ютер.

    Натискаємо «Закрити засіб усунення неполадок»

  7. Перевірте наявність оновлень ще раз, і, якщо проблема з високою завантаженням svchost.exe зберігається, переходьте до наступного кроку.

Крок 3. Встановіть останню версію Windows update agent

  1. Перейдіть на сайт завантаження Windows update agent і завантажте відповідний пакет для своєї збірки і версії Windows.

    На офіційному сайті Microsoft завантажуємо утиліту Windows update agent для відповідної операційної системи

  2. Запустіть WindowsUpdateAgent.exe.

    Запускаємо завантажений файл

  3. Закрийте всі відкриті програми та натисніть «Далі».

    Закриваємо всі відкриті програми та натискаємо «Далі»

  4. Виберіть «Згоден» і натисніть «Далі».
  5. Установник завершить установку і перезавантажить комп’ютер.

Крок 4. Встановіть Microsoft Security Bulletin MS13-097.

  1. Перейдіть на сторінку https://technet.microsoft.com/library/security/ms13-097 і клацніть по відповідному накопичувальне оновлення безпеки Internet Explorer (2898785) відповідно до версію вашого браузера Internet Explorer і версією Windows.

    Переходимо на офіційний сайт Майкрософт за вказаним посиланням

    Вибираємо відповідний пакет оновлення браузера Internet Explorer і операційній системі, клікаєм по назві браузера, як на картинці

  2. У наступному вікні виберіть мову вашого меню, і виберіть «Завантажити».

    Вибираємо мову і натискаємо кнопку «Завантажити» або «Завантажити»

  3. Запустіть «IE11_Windows-KB289875.exe» і дотримуйтесь інструкцій на екрані, щоб інсталювати оновлення.

    Клацніть завантажений файл, слідуємо інструкції інсталятора

  4. Перезавантажте комп’ютер, і знову перевірити оновлення.

Крок 5. Виправте пошкоджені системні файли за допомогою засобу готовності до оновлення системи (наприклад, «Deployment Image Servicing and Management») — інструмент DISM).

  1. Перейдіть на сайт завантаження System Update Readiness і завантажте інструмент DISM для вашої версії Windows.

    Переходимо на сайт, набравши в пошуку браузера System Update Readiness

    Вибираємо мову, натискаємо «Завантажити» і встановлюємо, дотримуючись інструкції

    Примітка! Windows 8 вже містить інструмент DISM, і вам не потрібно нічого завантажувати. Просто відкрийте командний рядок з правами адміністратора і введіть: «DISM.exe/Online/Cleanup-image/Restorehealth».

    Вводимо команду, як на фото, натискаємо «Enter»

  2. Клацніть двічі, щоб встановити завантажений файл (наприклад, Windows6.1-KB947821-v34-x86.msu).

    Двічі клацаємо по установчому файл, слідуємо інструкції майстра установок

  3. По завершенні установки перезавантажте комп’ютер.
  4. Запустіть Windows перевірку оновлень і з’ясуйте, чи зберігається проблема з високим рівнем використання svchost.

Інші рішення, які можна застосувати в різних випадках, при яких проблема з високим рівнем використання «svchost.exe» виникає при пошуку оновлень.

Випадок 1. Застосовується при новій установці Windows 7 SP1.

  1. Видаліть KB2562937 з інстальованих оновлень.

    У меню «Пуск» відкриваємо «Панель управління»

    В категорії «Перегляд» вибираємо «Великі значки», знаходимо і відкриваємо розділ «Центр оновлення Windows»

    Внизу вікна знаходимо і клацаємо по посиланню «Встановлені оновлення»

    Клікаємо по потрібному оновлення, натискаємо кнопку «Видалити»

  2. Перезавантажте комп’ютер.

Випадок 2. Застосовується на ноутбуці HP з Windows 7 SP1 Home.

Крок 1. Установіть оновлення безпеки KB2993651 згідно з версією вашої ОС:

  • оновлення безпеки для ос Windows 7 для систем на базі x86 (KB2993651);
  • оновлення безпеки для Windows 7 x64-систем (KB2993651);
  • оновлення безпеки для Windows 8.1 для систем на базі x86 (KB2993651);
  • оновлення безпеки для Windows 8.1 для x64-систем (KB2993651);

Крок 2. Скидання Windows Update Components. Перезавантажте комп’ютер.

Випадок 3. Застосовно до Windows 7 SP1 і Windows Server 2008 R2 SP1.

  1. Спочатку переконайтеся, що ви вже встановили Internet Explorer 11 на свій комп’ютер.
  2. Завантажте й установіть оновлення безпеки KB3102810 згідно з версією вашої ОС.

    Вибираємо мову «Українська», натискаємо «Завантажити», запускаємо інсталяційний файл, слідуємо інструкції установки

    На замітку! Якщо установка зависає, перезавантажте комп’ютер, а потім відразу інсталюйте оновлення.

  3. Перезавантажте комп’ютер, а потім видаліть папку «SoftwareDistribution».

    Відкриваємо папку «диск С»-«Windows», клікаєм по папці «SoftwareDistribution» правою кнопкою миші, вибираємо «Видалити»

  4. Перезавантажте комп’ютер і перевірте наявність оновлень.

Випадок 4. Застосовно до Windows 7 SP1 і Windows Server 2008 R2 SP1.

Завантажте та встановіть пакунок сукупний пакет оновлень 3 (KB3161608) для Windows Update відповідно з вашою версією ОС.

Вибираємо мову, натискаємо «Завантажити», виконуємо інструкції інсталятора

Примітка! Якщо установка зависає: перезавантажте комп’ютер, зупиніть службу Windows Update, а потім встановіть оновлення.

Якщо після виконання всіх цих завдань ви стикаєтеся з проблемами з високою завантаженням процесора, пам’яті, вимкніть Windows Update повністю або переустановите Windows на комп’ютері. Якщо ви використовуєте Windows 8 або Windows 8.1, ви також можете оновити систему. Удачі!

Відео – Svchost навантажує процесор. Рішення проблеми

Дивіться також:  Як дізнатися IP адреса сайту