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