System interrupts грузит процессор windows server

Как я решил проблему с загрузкой системы процессом System Interrupts

На своей основной работе я столкнулся с необычной проблемой, заключавшейся в полной загрузке одного из ядер процессора на файловом сервере — так я познакомился с процессом System Interrupts. Причины проблемы и её решение. Возникнут вопросы по этой статье — оставляйте свои комментарии, или пишите мне со страницы Контакты.

Есть в моём техно-зоопарке такой древний мамонт как сервер IBM xSeries 226. Основная его функция — сетевое файловое хранилище. Ежедневно к нему обращаются порядка 70 рабочих станций. Важные для нас технические подробности:

  • двухъядерный процессор Intel Xeon CPU 3.4GHz
  • ОС Windows Server 2003
  • система расположена на отдельном RAID-массиве
  • файловое хранилище — на обычном SATA-винчестере Western Digital 1TB

Как всё развивалось:

Месяц назад пользователи начали понемногу жаловаться на периодическое падение скорости копирования/записи файлов на сетевой диск нашего сервера. Была пора отчётов, все что-то копировали — падение скорости трафика можно было объяснить естественными причинами. Но вот прошли Новогодние каникулы, всё вернулось в обычное русло, а проблема осталась. Нужно было уже серьёзно разбираться с причинами происходящего:

В стандартном диспетчере задач сервера было видно, что общая загрузка процессора постоянно колеблется в районе 50%, а одно из двух ядер — почти 100%! Правда было непонятно какой процесс занимает столько ресурсов. Для глубокого анализа я воспользовался программой Process Explorer. И вот что я увидел:

Некий процесс Interrupts съедает половину процессорной мощности! Что еще за аппаратные прерывания? такого в моей практике ещё не было. Яндекс готового решения по устранению проблемы не предоставил. Стало только ясно, что причина скорее всего в железе, так как нового софта уже очень давно не устанавливалось и антивирусная проверка ничего не нашла.

Опытным путём установил, что если отключить сетевой адаптер — нагрузка практически моментально падает до нормальных значений и процесс System/Interrupts колеблется в районе 0-2%. После включения, проходит минут 10 — нагрузка опять повышается. Решил разбираться с сетевым адаптером: обновлял драйвера встроенного, устанавливал дополнительную сетевую карту и пускал трафик через неё — ничего не помогало 🙁

Дело принимало серьёзный оборот. Проводя эксперименты по выявлению причины происходящего я установил: как только происходит копирование/запись данных на SATA-диск (даже с отключенным сетевым контроллером), нагрузка на процессор резко возрастает. Вот оно! Сетевой трафик тут вообще не причем! Отключение сетевого адаптера просто разрывало обращения пользователей к диску. Поставил новый HDD в тот же самый SATA-порт, протестировал — всё отлично работает без каких-либо существенных нагрузок.

Наконец-то я разобрался с причинами проседания трафика и загрузкой процессора сервера . Виной всему — совсем нестандартное поведение умирающего HDD, который в работе уже почти 10 лет. Проверять на ошибки жёсткий диск размером 1TB — слишком долго. Я решил не искушать судьбу и скопировать всё на заведомо исправный. А пока продолжается копирование — я заканчиваю эту статью. Надеюсь она кому-нибудь поможет в похожей ситуации.

System Interrupts грузит процессор

  • Дальнейшие действия
  • Проблемные драйвера
  • Некорректная работа USB
  • Другие причины

Приветствую друзья. Данный материал опишет возможные причины почему System Interrupts грузит процессор.

System Interrupts грузит процессор — что делать?

Сперва разберемся: System Interrupts не является процессом по факту, представляет информативную строку, отображающую процент прерываний процессора на критически важные задачи. Под данными задачами часто подразумеваются аппаратные прерывания или некорректная работа некоторого установленного софта или драйверов.

Нормальная загрузка System Interrupts — не более 5%.

Процесс способен грузить ПК. Убрать полностью — нельзя. Однако можно снизить нагрузку до нормальных значений после определение причины.

Нормальное значение нагрузки System Interrupts:

Высокая нагрузка обычно вызвана двумя причинами:

  • Некорректная работа/неправильная настройка некоторого подключенного оборудования.
  • Некорректная работа драйверов, текущая версия которых могут например содержать баг.

Варианты причины нагрузки:

  1. Недавнее обновление/установка драйверов оборудования.
  2. Подключение нового оборудования, возможно аппаратные проблемы подключения/функционирования.
  3. Решить проблему иногда можно путем отката системы используя штатный инструмент восстановления системы.
Читайте также:  Приложение windows для всех телефонов

Проблемные драйвера

Попробуйте утилиту LatencyMon, загрузив с официального источника:

Инсталлируйте, запустите, нажмите Play, активируйте раздел Drivers, выполните сортировку колонки DPC count:

Наиболее значение столбца DPC count подскажет проблемное оборудование. Далее запустите диспетчер устройств (Win + R > команда devmgmt.msc), отключите оборудование, предположительно вызывающие высокую нагрузку System Interrupts:

Часто проблемными оказываются сетевые устройства, аудиокарты, видеокарты.

Внимание: выключать оборудование категории Процессоры, Компьютер, а также Видеокарта, устройств ввода — не стоит, могут появиться серьезные проблемы.

Если нашли проблемное устройство — установите новые драйвера, произведите откат текущих или извлеките устройство, подключите заново, установив повторно драйвера (предварительно удалив). Дрова лучше сперва скачать с офсайта производителя. Также идеально перед данными манипуляциями по возможности создать образ системы Windows.

Некорректная работа USB-хаба/портов

  • Отключите по очереди устройства, подключенные к разьему USB на предмет определения проблемного (по одному).
  • Отключите девайсы программно используя Диспетчер задач (по одному). Проблема может касаться контроллера USB (управляющий модуль разьемами). Тогда необходимо обновить драйвера (или откатить). Важно: при отключении USB-девайсов можете отключить клавиатуру/мышь, тогда управлять ПК станет невозможным. Решение: запомните устройство, выполните перезагрузку, повторите процедуру, пропустив устройство мышки/клавы.

Другие возможные причины нагрузки System Interrupts

Иногда — активная технология быстрого запуска при отсутствии корректных драйверов схемы электропитания/чипсета. Под технологией подразумевается функция Быстрый запуск Windows или активные опции BIOS (Quick Boot или Fast Boot).

Зарядное устройство ноутбука, аккумулятор. Можно проверить работу без данных устройств (отключая по очереди).

Функции улучшения звучания. Деактивируйте, нажмите правой кнопкой по значку звука (системный трей) > пункт звуки > активируйте раздел Воспроизведение или Девайсы воспроизведения > выбираем текущее аудиоустройство, кликаем свойства. Отобразится окошко параметров, при наличии разделов Эффекты / Пространственный звук — активируем, выбираем Выключено:

Некорректная работа оперативки (ОЗУ). Запустите тест, например утилитой mdsched.exe. Зажмите Win + R > вставьте mdsched.exe > следуйте инструкциям:

Проверьте жесткий диск (HDD) программой Виктория, выполнив тест поверхности (режим Read). System Interrupts может вызывать сильную нагрузку при наличии bad-блоков.

Иногда причина — установленный недавно софт, который при работе использует собственные драйвера.

Дополнительный способ — зажмите Win + R, вставьте команду perfmon /report, нажмите ОК. Дождитесь отображения информации, после — активируйте вкладку Производительность:

Обратите внимание на элементы красного цвета (при наличии).

Надеюсь представленная информация оказалась полезной. Удачи.

Interrupts грузит систему приблезительно на 50%.

50% . Task Maneger на графике CPU Usage History рисует кривую загрузки колеблющуюся около 50%, на вкладке Processes: System Idle Process, как и положено «отъедает» 97-100 процессорного времени. Process Explorer (Sysinternals) показывает, что эти 50% приходятся на процесс Hardware Interrupts.
Причом всё это дело сильно влияет на производительность! В 3DMark05 кол-во попугаев упало с 9800 до

3700. Думал зараза какая нибудь, прогнал антивирусами, толка ноль.
Чо делать-то. Выручайте.

з.ы. Пыталсо килять этот процес, но ничо нивыходит! Тока винда виснет. помагает ребут^^

«Hardware Interrupts»-Прерыв аппаратных средств + «System disk boot failed»- это значит что он не нащёл твой жестяк

И приходим к выводу: Погляди повниматнльнее шлейф на жестяке.

P.S Не осуждайте если ошибся.

2 Dark paladin*
недождался ваших постов, провёл низкоуровневое форматирование 🙁 ! Толку нет :(((

2 adrax*
Вроде ни один из контроллеров не ушол в PIO. я хз, может не там смотрю 0_o

выглядит всё следующим образом:

чё-то неувидел я там ни UDMA5 ни UDMA3 .

объясни по подробнее пожалуйсто (»,)

___________________________________________________________________________________________________
Вопрос к модераторам — почему я не могу зайти со своиво логина [Zero[G]ravitY]? Пишу ник, пишу пароль, появляеться сообщение «Неверное имя или пароль.
Повторите ввод данных.», кликаю на Забыли пароль, мне высылают письмо, далее всё по старой схеме! Вот пришлось заново регестрироваться >:S В чём дело? Объясните пожалуйсто.

System interrupts грузит процессор windows server

Общие обсуждения

Описание проблемы:

Один из компьютеров во время работы стал часто зависать, на экране стали появляться артефакты изображения, веб приложения постоянно отваливаться. Диспетчер задач показывает что ядро системы постоянно загружено на 30-40%, хотя в закладке «Процессы» показывается все нормально. С помощью программы «Process Explorer» удалось выяснить, что процесс Interrupts (Hardware Interrupts) постоянно грузит систему на 30-40%, а во время работы других приложений — на 60-70%. Используя программу «Kernrate_i386_XP.exe» удалось выяснить, что драйвер intelppm загружает серверное ядро на 60%, ntkrnlpa — 18%, hal — 18%.

Читайте также:  Как удалить значки с панели задач windows

Попытки решения:

— обновил драйвера на видокарту в надежде избавиться от артефактов. Не помогло. В настоящий момент заменить видеокарту нет возможности;

— С помощью утилиты MHDD проверил жесткий диск. Все в порядке.

— Проверил режимы работы у IDE контроллера: Используется UltraDMA или Неприменимо.

— Через реестр отключал загрузку драйвера intelppm, в итоге загрузка драйвера ntkrnlpa увеличилась до 80%.

Конфигурация компьютера:

Системная плата — Gigabyte GA-8I945GMF

Процессор: DualCore Intel Pentium D, 2800 MHz

Жесткий диск: WD2500JS-19MHB0 (250 Гб, SATA)

CD/DVD привод: временно отключен (привод IDE)

БИОС: версия F10 (согласно сайту производителю, эта последняя версия)

ОС: Windows XP Pro SP3, обновления постоянно загружаются с WSUS

Текущее состояние:

В настоящий момент проблема не устранена. Подскажите как можно ее решить?

Все ответы

Артефакт проявляется в том что изображение на экране не успевает прорисовываться, или прорисовывается не полностью. В принципе такое можно наблюдать и с работающей видеокартой когда процессор сильно загружен. А у меня как раз процессор постоянно загружен на 50%, в среднем. Я заменю видеоадаптер, как только будет замена.

Еще какие нибудь варианты решений будут?

А по подробней можете объяснить что из себя представляет процесс Interrupts или где можно про него подробно почитать?

А по подробней можете объяснить что из себя представляет процесс Interrupts или где можно про него подробно почитать?

На самом деле это не процесс, сущность Interrupts используется для учёта времени, затраченного на обработку прерываний (условно говоря — прерывания генерируются различными устройствами). Несмотря на массу информации от некомпетентных оптимизаторов — отключать или делать с ним что-либо мягко говоря не стоит. То что вы видите как активность intelppm — процессору посылаются команды сна во время простоя системы: это сокращает тепловыделение и энергопотребление. Можете попробовать в KernRate сделать зум на модуль ntkrnlpa, предварительно настроив символы (Symbols)? вероятно это даст наводку на возможный девайс.

Максимально подробно в контексте Windows вопрос описан в третьей главе Windows Internals Руссиновича.

Спасибо за информацию. Буду исследовать дальше проблему.

Может подскажите как с помощью KernRate сделать зум на нужный модуль? А то пока разберусь со всеми ключами пройдет не мало времени.

как с помощью KernRate сделать зум на нужный модуль?

Сегодня заменил видеоадаптер. Ситуация от этого не изменилась.

Так как время от времени обрывается связь у сетевых приложений, но статистика пинг этих обрывов не фиксирует, я все таки отключил в биосе сетевую карту, а так же lpt-порты.

Но у меня по прежнему процессор постоянно загружен на 30-40%

Зум на intelppm показал, что AcpiC1Idle загружается на 63%

Зум на ntkrnlpa показал, что по 16% времени уходить на каждую из операций READ_REGISTER_USHORT и READ_REGISTER_ULONG.

Зум на hal показал, что по 15% времени уходить на каждую из операций READ_PORT_UCHAR и READ_PORT_ULONG.

Я к сожалению пока слабо разбираюсь во внутреннем мире Windows и рассчитываю на Вашу помощь.

Еще я пытался через Process Explorer посмотреть потоки у Interrupts, но на закладке Threads информация о потоках отсутствует. Возможно та и надо. Или я, что то не так делаю?

Сегодня заменил видеоадаптер. Ситуация от этого не изменилась.

Зум на intelppm показал, что AcpiC1Idle загружается на 63%

Зум на ntkrnlpa показал, что по 16% времени уходить на каждую из операций READ_REGISTER_USHORT и READ_REGISTER_ULONG.
Зум на hal показал, что по 15% времени уходить на каждую из операций READ_PORT_UCHAR и READ_PORT_ULONG

Еще я пытался через Process Explorer посмотреть потоки у Interrupts, но на закладке Threads информация о потоках отсутствует. Возможно та и надо. Или я, что то не так делаю?

да, так и надо — это не процесс, как уже писал выше: просто некая абстракция для учёта процессорного времени

предлагаю сделать так: настройте систему на крэш с клавиатуры (создайте новый параметр CrashOnCtrlScroll типа DWORD в указанных ветках реестра и значением 1) и снятие дампа памяти ядра, после чего в момент наблюдаемых торможений нажмёте Ctrl+ScrollLock+ScrollLock — система выпадет в синий экран, затем выложите куда-либо файл MEMORY.DMP. Обещать не буду, но попробую найти виновного.

Читайте также:  Checking listening ports linux

Сегодня обнаружил, что если в биосе отключит usb-порты, то загрузка ядра процессора приходит в норму и состояние Interrupts находится в пределах нормы. Версия биоса стояла последняя — f10. Для эксперимента, я установил младшую версию — f9. Эффект с usb-портами тот же.

Я также отключил все usb-устройства у компьютера, но загрузка процессора остается на уровне 40% до тех пора, пока в биосе не отключить поддержку usb-портов.

На фоне этого возникло два вопроса:

1) Возможно ли, что глючит usb-драйвер ОС?

2) Или системная плата потихоньку «умирает»?

Хотел бы услышит ваше мнение по этому поводу.

Для AndricoRus : Я снял дамп памяти, весит порядка 1 Гб. Стоит ли его выкладывать на фоне новых обстоятельств?

Я также отключил все usb-устройства у компьютера, но загрузка процессора остается на уровне 40% до тех пора, пока в биосе не отключить поддержку usb-портов.
1) Возможно ли, что глючит usb-драйвер ОС?
2) Или системная плата потихоньку «умирает»?
Для AndricoRus : Я снял дамп памяти, весит порядка 1 Гб. Стоит ли его выкладывать на фоне новых обстоятельств?

драйверы на чипсет не переустанавливали?

Драйвер не переустанавливал.

Думаете переустановка драйвера может что то исправить?

Дамп в любом случае будет интересен — единственное, что: полный — это конечно чересчур (там много интересного можно найти не по делу порой), выставите именно дамп памяти ядра

Дамп я исправлю и в ближайшее время выложу его.

Думаете переустановка драйвера может что то исправить?

Благо у Intel процедура максимально тривиальна.

Я на сколько понимаю необходимо с официального сайта производителя системной платы скачать драйвер на чипсет. И запустить установочный файл, дальше все сделается автоматически.

Просто ваша фраза меня немного смутила. Хотя я чаще имел дело с чипсетами от Intel и не помню, что бы переустановка драйвера на чипсет была проблематичной.

Хотя я чаще имел дело с чипсетами от Intel и не помню, что бы переустановка драйвера на чипсет была проблематичной.

В связи с тем, что у нас начался отчетный период и на проблемном компьютере глюки удалось победить путем отключения usb-портов, то исследование проблемы откладывается до окончания отчетного периода. Период длиться около 10 дней.

После чего я продолжу изучать проблему и надеюсь на вашу поддержку.

После чего я продолжу изучать проблему и надеюсь на вашу поддержку.

предлагаю сделать так: настройте систему на крэш с клавиатуры (создайте новый параметр CrashOnCtrlScroll типа DWORD в указанных ветках реестра и значением 1) и снятие дампа памяти ядра, после чего в момент наблюдаемых торможений нажмёте Ctrl+ScrollLock+ScrollLock — система выпадет в синий экран, затем выложите куда-либо файл MEMORY.DMP

Конечно не сильно специалист, но вот что наводит на мысли.
разбираем последний стек:

тут вы инициировали крэш с клавиатуры ( ps/2 — это важно, ибо драйверы разные используются: kbdhid для USB, i8042prt — для PS/2)

80551260 f778d7fb 000000e2 00000000 00000000 nt!KeBugCheckEx+0x1b
8055127c f778d033 005db568 01ffffc6 00000000 i8042prt!I8xProcessCrashDump+0x237
805512c4 80545715 86608008 865db4b0 00010009 i8042prt!I8042KeyboardInterruptService+0x21c
805512c4 8052b91a 86608008 865db4b0 00010009 nt!KiInterruptDispatch+0x45


а вот это то, что происходило до ваших действий — процедура обработки прерывания USBPORT!USBPORT_InterruptService+0x3d передала управление функции EHCI_InterruptService из модуля usbehci, которая в свою очередь пытается прочитать что-то из регистра по адресу f7cc6024:

80551358 f78dfd38 f7cc6024 865f2168 866850e0 nt!READ_REGISTER_ULONG+0x6
80551378 f6c9ee91 006859dc 865f23cc 86044bb4 usbehci!EHCI_InterruptService+0x3c
8055138c 8054554c 865f2168 86685028 f6c9ee91 USBPORT!USBPORT_InterruptService+0x3d

и вот что интересно — на одном из прерываний, используемых контроллером USB — зарегистрированы обработчики для видеоадаптера и аудио. что может объяснять проблемы с изображением при имеющихся проблемах с USB-контроллером.

Dumping IDT:
63: 86044bec USBPORT!USBPORT_InterruptService (KINTERRUPT 86044bb0)
USBPORT!USBPORT_InterruptService (KINTERRUPT 865f2168)
83: 8659764c VIDEOPRT!pVideoPortInterrupt (KINTERRUPT 86597610)
HDAudBus!AzController::Isr (KINTERRUPT 865f6188)
USBPORT!USBPORT_InterruptService (KINTERRUPT 8602cbb0)
a4: 86033bec USBPORT!USBPORT_InterruptService (KINTERRUPT 86033bb0)
b4: 8603a974 USBPORT!USBPORT_InterruptService (KINTERRUPT 8603a938)

Оцените статью