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
KrView
Start a command promt -> go to the KRView folder
C:\Program Files\KrView\Kernrates>Kernrate_i386_XP.exe
And you get something like
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.
Try this:
KrView
The XP version of KrView works on Vista, but you need to run it as Administrator. Start a cmd shell as Administrator and run c:\program files\krview\kernrates\kernrate_i386_xp.exe while the hardware interrupt problem is occurring. Compare the results to when the problem is not occurring. This will tell you which hardware drivers are hogging the CPU.
Try this: Start, Settings, Control Panel, System, Device Manager, IDE, Primary IDE Channel Properties, Advanced Settings, Set both Transfer Modes to "DMA if available".