Что такое процесс "прерывания" и почему он так любит мой процессор?
У меня Windows XP SP3 на Intel Core Duo 2 ГГц. Процесс "Прерывания", согласно Process Explorer, постоянно занимает 30-40% ЦП. Это нормально?
3 ответа
В общих чертах прерывание генерируется устройством ввода-вывода (например, контроллером диска, сетевой картой, контроллером USB и т. Д.), Когда оно требует некоторого внимания со стороны процессора - оно в основном кричит: "Эй, могу ли я уделить вам немного времени?" пожалуйста!'.
Процессор имеет свои собственные задачи, которые он должен выполнять, поэтому, когда он получает прерывание, он должен прекратить то, что он делает, и справиться с требованиями устройства для перемещения данных или чего-то еще. Это не должно быть слишком много работы, но с современными адаптерами, работающими с большим количеством данных, они могут генерировать много прерываний в секунду для процессора. Традиционно на компьютерах был только один процессор, поэтому многие операционные системы никогда не думали распространять эту работу по обработке прерываний на нечто большее, чем просто на первый процессор - это по-прежнему актуально, одна сетевая карта МОЖЕТ залить "ядро 0" даже самой современной многопроцессорной системы. процессор, если операционная система не будет разделять эту рабочую нагрузку.
Есть несколько способов обойти это, один называется "объединение прерываний" - это особенность сетевой карты, которая объединяет группу прерываний и отправляет их на процессор как один - это добавляет сеть задержка, но может сэкономить много ресурсов процессора. Другая называется "масштабирование на стороне приема", которая в общих чертах разделяет работу по обработке прерываний на большее, чем просто "ядро 0" - понижая акцент на "ядро 0" (которое все еще застревает во многих других ядрах). ОС работает во всех, кроме самых современных операционных систем).
Есть еще одна классная функция, которая не имеет большого отношения к прерываниям, но может улучшить общую производительность сервера и называется "разгрузкой TCP" - это позволяет сетевой карте выполнять часть работы, которую обычно выполняет процессор. Все эти три функции должны поддерживаться сетевым адаптером, BIOS и операционной системой, иначе это не сработает - в качестве ссылки посмотрите на ЭТОТ документ от Microsoft, он объясняет вещи гораздо более подробно.
Надеюсь, это поможет.
Это совершенно нормально, если вы выполняете операции ввода-вывода (чтение / запись диска, сетевой трафик и т. Д.).
Высокие прерывания, как говорили другие, означают, что ваш процессор занят обслуживанием некоторого оборудования, которое требует внимания. Это вполне нормально, если интенсивно использовать жесткий диск или сеть.
Если ваша система действительно простаивает (убедитесь, что нет фоновых программ, таких как bittorrent, инструменты дефрагментации или что-либо еще), и она все еще высока, то это, вероятно, не нормально.
Для сравнения, моя двухъядерная система Athlon 3,11 ГГц, работающая под управлением Windows 7, несколько открытых окон Firefox и довольно много других фоновых программ имеют прерывания на процессоре менее чем на 1%. Когда я копирую файлы по сети со скоростью около 10 МБ / с, она увеличивается до 10-15%.
Обычно причиной является плохой драйвер или аппаратная часть. Вот несколько вещей для устранения неполадок, которые вы можете попробовать сузить:
- Зайдите в msconfig и отключите все запускаемые программы, затем перезагрузите компьютер. Если он уходит, то это фоновая программа, которая использует что-то
- Получите тестовый инструмент производителя для вашего жесткого диска и запустите его. Отказ жесткого диска приведет к очень высоким прерываниям
- Извлекайте одно за другим ненужное оборудование, такое как USB-устройства, DVD-привод, звуковая сеть и графические карты (если у вас есть и встроенное видео), и посмотрите, исчезнет ли проблема
- Проверьте наличие обновленных драйверов для всего оборудования
- Проверьте обновления BIOS для вашей материнской платы
- Запустите memtest в системе
Если вы можете сузить его до определенного аппаратного обеспечения, попробуйте его на другом компьютере и посмотрите, не вызывает ли оно такое же высокое использование прерываний. Если это так, и обновления драйверов / прошивок не помогают, то его необходимо заменить.