Системные прерывания грузят процессор
Если вы столкнулись с тем, что системные прерывания грузят процессор в диспетчере задач Windows 10, 8.1 или Windows 7, в этой инструкции подробно о том, как выявить причину этого и исправить проблему. Полностью убрать системные прерывания из диспетчера задач нельзя, но вернуть нагрузку в норму (десятые доли процента) вполне возможно, если выяснить, что вызывает нагрузку.
Системные прерывания не являются процессом Windows, хотя и отображаются в категории «Процессы Windows». Это, в общих чертах, — событие, вызывающее прекращение выполнения текущих «задач» процессором для выполнения «более важной» операции. Существуют различные типы прерываний, но чаще всего высокую нагрузку вызывают аппаратные прерывания IRQ (от оборудования компьютера) или исключения, обычно вызываемые ошибками работы оборудования.
Что делать, если системные прерывания грузят процессор
Чаще всего, когда в диспетчере задач появляется неестественно высокая нагрузка на процессор, причиной является что-то из:
- Неправильно работающее оборудование компьютера
- Неправильная работа драйверов устройств
Почти всегда причины сводятся именно к этим пунктам, хотя взаимосвязь проблемы с устройствами компьютера или драйверами не всегда очевидна.
Прежде чем приступать к поиску конкретной причины, рекомендую, если это возможно, вспомнить, что выполнялось в Windows непосредственно перед появлением проблемы:
- Например, если обновлялись драйверы, можно попробовать откатить их.
- Если было установлено какое-то новое оборудование — убедиться в правильности подключения и работоспособности устройства.
- Также, если ещё вчера проблемы не было, а с аппаратными изменениями связать проблему не получается, можно попробовать использовать точки восстановления Windows.
Поиск драйверов, вызывающих нагрузку от «Системные прерывания»
Как уже было отмечено, чаще всего дело в драйверах или устройствах. Можно попробовать обнаружить, какое из устройств вызывает проблему. Например, в этом может помочь бесплатная для бесплатного использования программа LatencyMon.
- Скачайте и установите LatencyMon с официального сайта разработчика https://www.resplendence.com/downloads и запустите программу.
- В меню программы нажмите кнопку «Play», перейдите на вкладку «Drivers» и отсортируйте список по колонке «DPC count».
- Обратите внимание на то, какой драйвер имеет наибольшие значения DPC Count, если это драйвер какого-то внутреннего или внешнего устройства, с большой вероятностью, причина именно в работе этого драйвера или самого устройства (на скриншоте — вид на «здоровой» системе, т.е. более высокие количества DPC для приведенных на скриншоте модулей — норма).
- В диспетчере устройств попробуйте отключить устройства, драйверы которых вызывают наибольшую нагрузку согласно LatencyMon, а затем проверить, была ли решена проблема. Важно: не отключайте системные устройства, а также находящиеся в разделах «Процессоры» и «Компьютер». Также не стоит отключать видеоадаптер и устройства ввода.
- Если отключение устройства вернуло нагрузку, вызываемую системными прерываниями в норму, удостоверьтесь в работоспособности устройства, попробуйте обновить или откатить драйвер, в идеале — с официального сайта производителя оборудования.
Обычно причина кроется в драйверах сетевых и Wi-Fi адаптеров, звуковых карт, других карт обработки видео или аудио-сигнала.
Проблемы с работой USB устройств и контроллеров
Также частой причиной высокой нагрузки на процессор со стороны системных прерываний является неправильная работа или неисправность внешних устройств, подключенных по USB, самих разъемов или повреждение кабелей. В этом случае в LatencyMon вы навряд ли увидите что-то необычное.
При подозрениях на то, что причина в этом, можно было бы рекомендовать поочередно отключать все USB-контроллеры в диспетчере устройств, пока в диспетчере задач не упадет нагрузка, но, если вы начинающий пользователь, есть вероятность, что вы столкнетесь с тем, что у вас перестанут работать клавиатура и мышь, а что делать дальше будет не ясно.
Поэтому могу рекомендовать более простой метод: откройте диспетчер задач, так чтобы было видно «Системные прерывания» и поочередно отключайте все без исключения USB устройства (включая клавиатуру, мышь, принтеры): если вы увидите, что при отключении очередного устройства нагрузка упала, то ищите проблему в этом устройстве, его подключении или том USB-разъеме, который для него использовался.
Другие причины высокой нагрузки от системных прерываний в Windows 10, 8.1 и Windows 7
В завершение некоторые менее часто встречающиеся причины, вызывающие описываемую проблему:
- Включенный быстрый запуск Windows 10 или 8.1 в сочетании с отсутствием оригинальных драйверов управления электропитанием и чипсета. Попробуйте отключить быстрый запуск.
- Неисправный или не оригинальный адаптер питания ноутбука — если при его отключении системные прерывания перестают грузить процессор, дело скорее всего в этом. Однако, иногда, виноват не адаптер, а батарея.
- Звуковые эффекты. Попробуйте отключить их: правый клик по значку динамика в области уведомлений — звуки — вкладка «Воспроизведение» (или «Устройств воспроизведения»). Выбираем используемое по умолчанию устройства и нажимаем «Свойства». Если в свойствах присутствуют вкладки «Эффекты», «Пространственный звук» и похожие, отключаем их.
- Неправильная работа оперативной памяти — выполните проверку оперативной памяти на ошибки.
- Проблемы с работой жесткого диска (основной признак — компьютер то и дело зависает при доступе к папкам и файлам, диск издает необычные звуки) — выполните проверку жесткого диска на ошибки.
- Редко — наличие нескольких антивирусов на компьютере или специфических вирусов, работающих напрямую с оборудованием.
Есть еще один способ попробовать выяснить, какое оборудование виновато (но что-то показывает редко):
- Нажмите клавиши Win+R на клавиатуре и введите perfmon /report затем нажмите Enter.
- Подождите, пока будет подготовлен отчет.
В отчете в разделе Производительность — Обзор ресурсов вы можете увидеть отдельные компоненты, цвет которых будет красным. Присмотритесь к ним, возможно, стоит выполнить проверку работоспособности этого компонента.
Просмотр и управление запущенными процессами является основной функцией штатного Диспетчера задач Windows, хотя с не меньшим успехом его можно использовать для контроля автозагрузки, получения данных о производительности, запуска и остановки системных служб. Когда компьютер начинает внезапно тормозить, вы можете открыть Диспетчер задач и посмотреть, какой процесс потребляет аномальный объем ресурсов CPU или RAM. Однако создавать проблемы могут не только процессы. Падение производительности может быть вызвано утечками памяти, а также некорректной работой драйверов устройств или оборудования. На последнее будет указывать высокая загрузка процессора процессом «Системные прерывания».
По правде говоря, употреблённый выше термин «процесс» так же нужно было брать в кавычки, потому что в строгом смысле слова процессом он не является. Если вы кликните по нему правой кнопкой мыши, то найдёте, что в контекстном меню управления процессом большая часть опции неактивны, да и сам «процесс» не имеет идентификатора. Как и «Бездействие системы», «Системные прерывания» — это индикатор, указывающий в данном примере на некорректную работу устройств, впрочем, высокая загрузка процессора системными прерываниями может быть связана с любыми неполадками, в результате которых ЦП оказывается заваленным инструкциями, которые он не успевает обработать. То есть CPU выделяет больше процессорного времени на обработку передаваемых сплошным потоком инструкций от какого-то приложения или оборудования, прерывается на решение образовавшейся проблемы, в результате чего производительность компьютера резко снижается. Отсюда и название индикатора — системные прерывания.
В норме загрузка CPU системными прерываниями составляет до 5%, всё что выше, свидетельствует о неполадках в работе драйверов или оборудования. Статистически чаще всего проблема вызывается неполадками в работе драйверов, поэтому начинать поиск источника проблемы лучше всего с их диагностики. Для начала можно попробовать воспользоваться встроенными средствами Windows — монитором ресурсов и производительности. Запустите оснастку командой perfmon /report, подождите, пока соберёт диагностические сведения, а затем изучите содержимое разделов «Предупреждения» и «Производительность».
Если в результатах диагностики вы видите отмеченные красным значком устройства, это повод проверить их драйвера, что касается драйверов, помеченных как повреждённые, таковые нужно переустановить в первую очередь. Надо, однако, отметить, что штатный Монитор ресурсов и производительности не отличается особой эффективностью, когда речь идёт о выявлении причин загрузки ЦП системными прерываниями, он фиксирует лишь очевидные неполадки. Поэтому для диагностики всё же лучше использовать узкоспециализированные утилиты от сторонних разработчиков, например, DPC Latency Checker или LatencyMon.
К сожалению, первая утилита DPC Latency Checker не показывает, какой именно драйвер или устройство вызывают проблему, искать их придётся вручную методом исключения, утилита лишь помогает выбрать верное направление поиска. Будучи запущенной, она демонстрирует график использования вычислительной мощности процессора.
В идеале все столбцы должны находиться в зелёной или жёлтой зоне, что также считается допустимым, если же вы видите красные столбцы, открывайте Диспетчер устройств и начинайте поочерёдно отключать некритичные устройства, одновременно наблюдая за показателями загрузки системными прерываниями. Безопасно отключать можно:
• Bluetooth;
• Дисководы;
• Аудиовходы и аудиовыходы;
• Звуковые, игровые и видеоустройства;
• Контроллеры USB;
• Мыши и иные указующие устройства;
• Очереди печати;
• Устройства HID;
• Сетевые адаптеры;
• Устройства обработки изображений.
А вот компоненты разделов «Компьютер», «Процессор», «Системные устройства», «Мониторы», «Контроллеры запоминающих устройств», «Дисковые устройства» и «Контроллеры IDE» лучше не трогать, так как их отключение может привести к проблемам в работе операционной системы. Таким образом, методом исключения можно выявить проблемное устройство и уже дальше принимать решение относительно его конфигурации. Если устройство не используется, можно попробовать его отключить, но лучше ограничиться переустановкой или обновлением его драйвера.
Большей информативностью отличается утилита LatencyMon. Установите её, запустите, нажмите в меню кнопку «Play», затем переключитесь на вкладку «Drivers» и отсортируйте список драйверов по колонке «DPC count». Обратите внимание на первые в списке драйвера, имеющие самый высокий показатель DPC, возможно, какой-то из них является причиной загрузки процессора системными прерываниями. Вам останется лишь сопоставить имя драйвера (подсказку даст Google) с устройством, отключить последнее, если это возможно и посмотреть, как это повлияет на загрузку CPU системными прерываниями.
Итак, при обнаружении высокой загрузки процессора в первую очередь нужно проверить работу оборудования, в том числе жёсткого диска, видеокарты, оперативной памяти и даже аккумулятора. Неправильная работа драйверов и оборудования составляет 95 процентов случаев высокой загрузки ЦП системными прерываниями, и только малая доля случаев приходится на причины, вызываемые некорректной работой программного обеспечения. Есть примеры, когда проблема загрузки системными прерываниями решалась отключением аудиоэффектов в системных настройках звука. Иногда источником неполадки становятся работающие непосредственно с оборудованием программы, в некоторых случаях проблему могут создать антивирусы, конфликтующие с другими имеющимися на компьютере программами для обеспечения безопасности.
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .
При открытии диспетчера задач видно, что цп нагружено на 100%, но после открытия через 3-4 секунды строка «Системные прерывания» исчезает.
С чем это связано и как это убрать?
-
Вопрос задан
-
18783 просмотра
С чем это связано и как это убрать?
Прерывания это обращения периферийных устройств к процессору с просьбой прервать работу и обработать их запрос.
Например записать данные на жесткий диск, или считать нажатые клавиши с клавиатуры, посмотреть куда пользователь переместил мышку, и.т.д.
За секунду обрабатываются десятки тысяч таких прерываний. Процессор отвлекается от текущей задачи и обрабатывает задачу прерывания.
С чем это связано
Если драйвер какого-то устройства работает некорректно, то прерывание может обрабатываться слишком долго или слишком часто. Отсюда и нагрузка.
как это убрать?
Найти драйвер создающий проблему и заменить его.
Пригласить эксперта
Для начала — проверить железо. Например, загрузившись с флешки или диска. Если там нет такого эффекта — то проблема софтовая. Иначе — смотрите железо.
Несколько случаев видел, когда всё жутко тупило, и даже диспетчер задач съедал до 40% процессора (сам же это и показывал), ну и реакция на нажатие кнопки или мышкой была около минуты. Проблема была в одном вздутом конденсаторе на материнке в преобразователе питания южного моста. Аналогичные проблемы могут быть на старых материнках (2003-2006гг), во многих ставили полевые транзисторы в питальниках, которые через пару лет деградировали, и в итоге давали большие шумы на выходе и глюки всякие происходили.
Софтовые проблемы более обширны — начиная от драйверов, и заканчивая всякими сервисными утилитами и антивирусами (и вирусы тоже исключать не стоит!)
Если это происходит только при открытии диспетчера задач и сразу пропадает, то так и должно быть.
Открытие диспетчера задач само по себе нагружает процессор.
Войдите, чтобы написать ответ
-
Показать ещё
Загружается…