Процессом System (Ntoskrnl.exe) сильно грузит CPU в Windows. Что делать?
На одном их компьютеров с только что установленной Windows 10 пользователь стал жаловаться на постоянные зависания и медленную работу ОС. В диспетчере устройств видно, что более 50% ресурсов процессора используется процесс System ( ntoskrnl.exe ). В этой статье я постараюсь описать основные методики диагностики высокой загрузки CPU различными процессами и методы выявления проблемного компонента Windows.
Ситуация, когда процесс System потребляет более половины процессорных ресурсов системы — это не нормально. Сам по себе файл Ntoskrnl.exe представляет собой исполняемый файл ядра ОС. Это базовый процесс системы. В рамках ядра ОС выполняется запуск системных драйверов устройств, которые скорее всего и являются источником проблемы (далеко не все драйверы соответствующим образом тестируются разработчиками оборудования).
Как правило, проблема утечки в коде драйверов и высокая нагрузка на процессор, память или диск возникает после установки нового оборудования, установки новой версии драйвера (в том числе при автоматическом обновлении драйверов, которое можно отключить ) или после апгрейда Windows.
Совет . В некоторых случаях высокую нагрузки на процессор и память может вызывать процесс Система и сжатая память
Чтобы понять, какой конкретно драйвер или модуль вызывает высокую загрузку процессора можно воспользоваться бесплатной утилитой Process Explorer . Скачайте и запустите ее с правами администратора.
В списке запушенных процессов найдите процесс System , щелкните по нему ПКМ и откройте его свойства Properties .
Перейдите на вкладку Threads . Отсортируйте список модулей, загруженных ядром по степени использования процессора (столбец CPU). В строке Start Address указано имя функции или драйвера, вызывающего высокую загрузку (скриншот не с проблемной системы).
Также, чтобы выявить драйвер, который вызывает высокую загрузку CPU, можно воспользоваться бесплатной утилитой Microsoft — kernrate.exe (Kernrate Viewer). Утилита входит в состав WDK (Windows Device Kit). После установки WDK, найти утилиту можно в каталоге …\Tools\Other\amd64.
Запустите утилиту kernrate.exe без аргументов и подождите некоторое время, пока идет сбор данных (10-15 минут), после чего прервите работу утилиты сочетанием клавиш Ctrl-C : Посмотрите на список модулей в секции Result for Kernel Mode .
Как вы видите, в нашем примере высокую нагрузку на CPU вызывает модуль b57nd60x . С помощью Google или утилиты sigcheck (смотри пример ) можно определить, что проблему вызывает драйвер сетевой карты Broadcom NetXtream Gigabit Ethernet NDIS6.0 Driver.
Кроме того, проанализировать использование CPU при загрузки системы можно с помощью Windows Performance Toolkit (WPT). Нужно установить компонент и запустить сбор данных с помощью графической консоли Windows Perfomance Recorder (First level triangle + CPU usage -> Start)
xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d cpuusage.etl
Совет . Этот способ удобно использовать, если после загрузки система напрочь зависает и работать в ней просто невозможно. Скорее всего вам также будет полезна статья с методикой диагностики долгой загрузки Windows .
Полученный файл нужно сохранить и открыть в WPA. Разверните стек процесса System. В этом примере видно, что высокую нагрузку на процессор вызывает драйвер athrx.sys (Wi-Fi адаптер Atheros Wireless Network Adapter).
Для решения проблемы нужно попробовать установить более новую (или старую) версию драйвера или же совсем отключить оборудование, если проблема наблюдается со всеми версиями драйвера. Обновленный драйвер можно дополнительно проверить стресс-тестом с помощью Driver Verifier .
Обзор приложения Task Manager
При первых признаках снижения производительности компьютера пользователи запускают «Диспетчер задач», дабы выяснить виновника подвисаний и предпринять соответствующие меры. Ирония заключается в том, что проблемным процессом может оказаться именно «Диспетчер задач». Давайте узнаем ответ на два самых главных вопроса: Task Manager Windows 10 что это и как остановить?
Task Manager — что это
Task Manager – это стандартное приложение в Windows, отвечающее за мониторинг и контроль запущенных процессов и служб. С его помощью можно определить степень нагрузки на аппаратную составляющую каждого модуля системы и запущенного приложения. К основным функциям можно отнести:
- запуск и завершение процессов;
- приостановка работы служб и изменение их параметров автозапуска;
- редактирование модуля автозагрузки;
- отладка запущенных приложений;
- смена активных пользователей.
Почему грузит процессор
С помощью этой утилиты можно завершить процесс зависшей программы, не прибегая к перезагрузке компьютера. Поэтому существует две основные версии возникновения проблем с Task Manager:
- Заражение вредоносными программами. Если у вас стоит лицензионная версия Windows, единственной причиной остается проникновение в систему вируса, повреждающего Task Manager или маскирующегося под него.
- Пиратская версия Windows. Все сборки нелицензионных версий ОС делаются вручную. Поэтому вероятность повреждения какого-либо компонента системы довольно велика.
Как отключить Task Manager
Исходя из первой проблемы, очевидное решение — глубокое сканирование памяти компьютера с последующим лечением или удалением зараженных файлов. Для этого:
- Скачайте антивирус Dr.Web CureIt! с официального сайта и выполните глубокое сканирование памяти жесткого диска и ОЗУ.
- После окончания процедуры следуйте подсказкам утилиты по дальнейшему лечению или удалению объектов.
- Загрузите и установите CCleaner.
- Очистите ПК от временных файлов и старых логов.
- Удалите пустые и устаревшие ключи реестра.
- Перезагрузите компьютер.
Если ничего не помогло и версия ОС у вас не оригинальная – единственным выходом является переустановка системы на лицензионную.
Теперь вы знаете, что это за процесс Task Manager и как его оптимизировать. Для предотвращения подобных ситуаций в будущем настоятельно рекомендуется пользоваться оригинальным программным обеспечением последней версии. Со всеми вопросами жду в комментариях!
Что такое «Хост-процесс для задач Windows» (taskhostw.exe) и почему он запущен на моем ПК?
Читайте о процессе taskhostw.exe: что это за процесс, почему он расходует много ресурсов, как его отключить, и т.д. Если вы часто открываете окно «Диспетчера задач», то, вероятнее всего, замечали один, а то и несколько, одновременно работающих процессов под названием «Хост-процесс для задач Windows». Очень часто, их запущено несколько штук, это связано с тем, какие и сколько служб Windows работает в данный момент на вашем ПК.
Что это за процесс и почему их так много работает одновременно?
«Хост-процесс для задач Windows» является официальным, разработанным Microsoft, одним из основных процессов ядра операционной системы. В ОС Windows службы, которые загружаются через исполняемые файлы (EXE), могут внедряться (и представляться в «Диспетчере задач» ) в качестве полностью самостоятельных процессов операционной системы, и будут перечислены собственными именами в «Диспетчере задач» . Но службы, которые запускаются из «динамически подключаемых библиотек» (DLL), и которые не имеют собственных исполняемых файлов «EXE» , не могут внедряться в качестве отдельного процесса. Вместо этого «Хост-процесс для задач Windows» и должен служить базовым процессом (хостом) для запуска и работы таких служб.
Операционная система создаст по отдельному процессу «Хост-процесс для задач Windows» , для каждой службы, запускаемой через «DLL-файл» , также ОС может создать отдельный процесс и для группы служб на основе «DLL» . Создание отдельного процесса для группы служб зависит от разработчиков самой службы. Количество таких процессов, которые отображаются в «Диспетчере задач» , полностью зависит от того, сколько таких служб запущено и используется в данный момент в вашей системе. В моём случае, работает только один экземпляр, но в процессе работы их количество может увеличиться.
К сожалению, «Диспетчер задач» не дает вам возможности точно определить, какие именно службы (или группы служб) отображаются как запись «Хост-процесс для задач Windows» . Если вам действительно интересно это узнать, то вам потребуется скачать программу «Process Explorer» , бесплатную утилиту «Sysinternals» , предоставленную и разработанную Microsoft. Перейдите по ссылке и кликните на «Download Process Explorer» (Ссылка: https://docs.microsoft.com/ru-ru/sysinternals/downloads/process-explorer ). Эта программа не требует установки, она предоставляется в портативном виде (в ZIP-архиве).
Сохраните архив на диск, извлеките файлы и запустите «procepx.exe» для 32-битной операционной системы, или «procepx64.exe» для 64-битной. В главном меню окна программы нажмите на «View» и выберите «Show lower pane» , для того чтобы увидеть детали для выбранного процесса.
Прокрутите список вниз и нажмите на строчку с названием «taskhostw.exe» . Это имя исполняемого файла, который именно запускает «Хост-процесс для задач Windows» .
Просматривая детали данного процесса в нижней панели, можно более подробно узнать какие именно «DLL-файлы» запущены, их место расположение, а также компанию-производитель. В моём случае, это список стандартных системных служб операционной системы, производитель – Microsoft, и мне нечего переживать.
Почему эти процессы расходуют так много ресурсов при запуске Windows?
Как правило, расход ресурсов процессора (CPU) и оперативной памяти у каждого экземпляра «Хост-процесса для задач Windows» различается, это зависит от того, какую именно службу запускает процесс и используется ли она в данный момент. Естественно, что каждая служба будет потреблять ресурсы вашего компьютера, необходимые для выполнения своей работы, а затем потребление уменьшиться и опуститься до базового уровня. Если вы заметили, что определённый экземпляр «Хост-процесса для задач Windows» постоянно использует гораздо большее количество ресурсов, чем нужно, то вам необходимо будет отследить, какая именно служба подключена к этому процессу, и устранить ошибку связанную с ней.
Сразу после запуска ПК, потребление ресурсов всеми экземплярами «Хост-процесса для задач Windows» может выглядеть так, как будто они потребляют слишком много, особенно ресурс процессора «CPU» . Но это нормально и потребление скоро должно быстро прийти в норму. Когда вы запускаете ОС Windows, «Хост-процесс для задач Windows» проверяет записи в реестре и создает список служб на основе «DLL-файлов» , которые необходимо загрузить. Затем он загружает каждую из этих служб, и как можно увидеть, в это время он потребляет достаточно большой объём ресурсов процессора.
Можно ли его отключить?
Полностью нет, вы не сможете отключить данный процесс. На самом деле это и не требуется. Очень важно, для правильной работы ОС, иметь возможность подгружать службы на основе «DLL-файлов» и, в зависимости от того, какие службы выполняются в данный момент, отключение «Хост-процесса для задач Windows» может нарушить их работу.
Возможно это вирус?
Сам процесс является официальным компонентом ядра операционной системы Windows. Хотя существует возможность, что вирус заменил реальный исполняемый файл «taskhostw.exe» данного процесса собственным вредоносным «EXE-файлом» . В сети пока не встречаются сообщений о вирусах, которые захватывают или маскируются под «Хост-процесс для задач Windows» . Если вы желаете быть полностью уверенным, что это не вирус, то необходимо проверить месторасположение основного исполняемого файла «taskhostw.exe» . Для этого, откройте «Диспетчер задач» , найдите строчку «Хост-процесс для задач Windows» , щелкните по ней правой кнопкой мыши и выберите опцию «Открыть расположение файла» .
Если файл «taskhostw.exe» хранится в каталоге с установленной ОС Windows, по умолчанию это «С:\Windows\System32» , то вы можете быть уверены, что данный файл не является вирусом.
Тем не менее, если вы хотите ещё больше обезопасить свой ПК , или вы видите, что этот файл запущен из другого каталога, то обязательно проведите полное сканирование системы вашим антивирусом. Береженого Бог бережет!