У меня есть сервер, использующий 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% ЦП
Запустите командную строку -> перейдите в папку KRView
C:\Program Files\KrView\Kernrates>Kernrate_i386_XP.exe
И вы получите что-то вроде
Time 51354 hits, 25000 events per hit Module Hits msec %Tot Events/Sec -------- ----- ----- ---- ---------- 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, щелкните файл правой кнопкой мыши, и вы увидите кто его подписал).
При поиске в вашей любимой поисковой системе других людей, у которых могут быть похожие проблемы, я бы один раз начал искать none microsoft.
Имейте в виду, что intelppm жестяная банка be может быть корнем вашей проблемы, но он будет отображаться очень высоко в списке, потому что он отправляет команду сна на процессор, поэтому его позиция в выводе будет очень высокой (если у вас есть процессор AMD, замените intelppm на драйвер amd ).
Как вы, возможно, заметили, это не указывает хорошей стрелкой на вашу проблему, вам все равно потребуется некоторая работа, чтобы отследить, что делать с проблемой, но это должно помочь вам в том, в каком направлении сосредоточить поиск.
Попробуй это:
KrView
Версия KrView для XP работает в Vista, но вам необходимо запустить ее от имени администратора. Запустите командную оболочку от имени администратора и запустите c: \ program files \ krview \ kernrates \ kernrate_i386_xp.exe, пока возникает проблема с аппаратным прерыванием. Сравните результаты с тем, когда проблема не возникает. Это скажет вам, какие драйверы оборудования загружают процессор.
Попробуйте следующее: «Пуск», «Настройки», «Панель управления», «Система», «Диспетчер устройств», «IDE», «Свойства основного канала IDE», «Дополнительные настройки», установите для обоих режимов передачи значение «DMA, если доступно».