Регистрация аппаратных прерываний (IRQ), которые используют 10-25% CPU

У меня есть сервер, использующий 10-25% процессорного времени на аппаратных прерываниях согласно Process Explorer.

Как бы я занялся регистрацией / диагностикой причины всех этих вызовов IRQ?

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

ОБНОВЛЕНИЕ: попробовал информацию из этой статьи: http://msdn.microsoft.com/en-us/library/ms797921.aspx

Что касается использования tracelog.exe и tracerpt.exe для захвата событий DPC и ISR, но когда я запускаю трассировку, у нее нет этой информации, даже с ключом -dpcisr. Я получаю информацию о диске и процессе в отчете, но никаких прерываний... Я знаю, что прерывания происходят, потому что Process Explorer по-прежнему показывает их, используя 6-15% CPU

3 ответа

Решение

KrView

Запустите командную строку -> перейдите в папку KRView

C:\Program Files\KrView\Kernrates>Kernrate_i386_XP.exe

И вы получите что-то вроде

Время 51354 хитов, 25000 событий за хит

Модуль Хиты мсек% Тот событий / сек
--------                              -----      -----    ----  ----------  
intelppm                              36726      64582    71 %    14216809
ntoskrnl                               6681      64582    13 %     2586246
hal                                    5246      64582    10 %     2030751
Ntfs                                    637      64582     1 %      246585
TCPIP                                 

После того, как вы нажмете CTRL + C (но оставите его работать некоторое время), это должно дать вам указание, где искать.

Теперь, чтобы отследить дополнительную информацию об этих дисках, если вы не можете догадаться, кто сделал диски на основе их имени, вы можете найти его в системной папке Windows (tcpip будет файлом tcpip.sys, щелкните правой кнопкой мыши на файле и вы увидите кто его подписал).
При поиске в вашей любимой поисковой системе других людей, у которых могут быть схожие проблемы, я бы однажды начал искать не Microsoft.
Имейте в виду, что intelppm может быть причиной вашей проблемы, но он будет показывать очень высоко в списке, потому что он отправляет команду режима сна на процессор, поэтому его позиция на выходе будет очень высокой (если у вас процессор AMD замените intelppm драйвером amd).
Как вы, возможно, заметили, это не указывает на хорошую стрелку в вашей проблеме, вам все равно потребуется определенная работа, чтобы выяснить, что делать с этой проблемой, но она должна помочь вам в том, в каком направлении вы сосредоточены на поиске.

Попробуй это:
KrView

Версия KrView для XP работает на Vista, но вам нужно запустить ее от имени администратора. Запустите командную консоль с правами администратора и запустите c:\program files\krview\kernrates\kernrate_i386_xp.exe, пока возникает проблема с аппаратным прерыванием. Сравните результаты с тем, когда проблема не возникает. Это скажет вам, какие драйверы оборудования загружают процессор.

Попробуйте это: Пуск, Настройки, Панель управления, Система, Диспетчер устройств, IDE, Свойства основного канала IDE, Расширенные настройки, Установите оба режима передачи на "DMA, если доступно".

Другие вопросы по тегам