Регистрация аппаратных прерываний (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
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, если доступно".