Windows – Logging Hardware Interrupts (IRQs) which are using 10-25% CPU

irqperformanceperformance-monitoringprocess-explorerwindows

I have a server using 10-25% of the CPU time on Hardware Interrupts according to Process Explorer.

How would I go about logging/diagnosing the cause of all these IRQ calls?

The machine is virtual, so I know the physical hardware is not the problem (although could be drivers, etc).

UPDATE:
Tried the information from this article:
http://msdn.microsoft.com/en-us/library/ms797921.aspx

Regarding using tracelog.exe and tracerpt.exe to capture DPC and ISR events, but when I run the trace it doesn't have any of that information, even with the -dpcisr switch. I get disk and process info in the report but no interrupts…
I know interrupts are happening because Process Explorer is still showing them using 6-15% CPU

Best Answer

KrView

Start a command promt -> go to the KRView folder

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

And you get something like

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                                 

After you press CTRL + C ( but leave it running for a while ) and this should give you a indication of where to look.

Now to track down more information regarding these drives, if you cannot guess who made the drives based on its name you can find it in your windows system folder ( tcpip would be the file tcpip.sys, right click on the file and you can see who signed it).
When searching on your favorite search engine for other people that might have simular problems i would start searching for the none microsoft once.
Be aware that the intelppm can be can be the root of your problem, but it will show very high in the list because it sends the sleep command to the cpu so its position in the output will be very high ( If you have a AMD CPU replace intelppm with a amd driver ).
As you may have noticed this does not point a nice arrow to your problem, it will still require some work from you to track down what to do with the problem is, but it should give your a help in what direction to focus you searching.