Jump to content

How to get the cause of high CPU usage by DPC / Interrupt


Recommended Posts


The DPC and Interrupts are fine. CPU usage is small and the hihgest spikes are 128-256µs which is fine. But I can see that the Audiodg.exe (Windows Audio Device Graph Isolation) causes 25% usage. This may cause the sound issues. I can see that the function AudioEng.Dll!CAudioFormatConvert::ConvertInt24WideToFloat32 is the cause. I can also see that the CTAFX.DLL is involved. this file belongs to your Creative SB X-Fi. The FX in the driver name let me think that this DLL has something to do with Effects. Do you run Starcraft with EAX? If yes disable it in SF2 and also disable the audio enhancements in Windows 7: http://technicallyeasy.net/2010/09/how-to-disable-audio-enhancements-windows-7/

Does this make a difference?

Link to comment
Share on other sites

First of all, great guide, Andre! Of all the guides I was able to find, yours was the most straightforward and easy to follow. I'm usually fairly adept at troubleshooting and solving my computer problems, but this was my first exposure to Windows Performance Tools and tracing. Definitely a very useful tool, so thank you!

My computer has been seeing high CPU usage (30-40% and up) rather than the usual 3% or so, for several days now, and it seems to have come after I installed a game or my wireless card for my desktop. Unfortunately, I'm not sure which caused the problem. I was made aware of the issue by a report in Performance Monitor saying that there are 'High average interrupts/processor.'

Following your guide, I ran a trace and selected a segment of the graph showing the Interrupt CPU usage at its highest points, and then I clicked Show Summary. It seems the culprit is listed under Module as 'Unknown' and it is a few orders of magnitude higher than the next highest count (3,XXX,XXX vs. 2X,XXX). Could this be due to the fact that my wireless card is quite old and intended for Windows XP at the latest? I had to mess around with drivers manually quite a bit to get the wireless to work, which it eventually did. However, I disabled the wireless card and am now just using my ethernet port. I can run another trace and upload the ETL if you would like to look at it, but perhaps my description of the trace summary is sufficient.

Please advise, and thanks for the great thread! :)

Link to comment
Share on other sites

Since my last post my interrupts problem hasn't occurred, been a few days now. I am hoping my issue may have been fixed.

Not really sure how though. I think it may have something to do with my internal card reader (which I think is connected to an internal USB port?) as one of my troubleshooting steps included uninstalling that (then Windows redetected it), but I also changed the drivers on my internal modem.

Anyway we'll see, thanks for your help thus far.

Edited by hottroc
Link to comment
Share on other sites

Neat stuff. Wonder how difficult it would be to script this and/or leverage WMI for the same purpose. Or perhaps a 3rd-party tool would be best for automation since this requires extra software to be installed?

Link to comment
Share on other sites

Not really sure how though. I think it may have something to do with my internal card reader (which I think is connected to an internal USB port?) as one of my troubleshooting steps included uninstalling that (then Windows redetected it), but I also changed the drivers on my internal modem.

this can be the cause. Watch it a few more days.

Neat stuff. Wonder how difficult it would be to script this and/or leverage WMI for the same purpose. Or perhaps a 3rd-party tool would be best for automation since this requires extra software to be installed?

you can xcopy xperf to any PCs (also NT5.x) and run it from CMD files to automate it.

Link to comment
Share on other sites

this can be the cause. Watch it a few more days.

OK, will do. It is a great shame that xperf and LatencyMon cannot be improved to show exactly which device was causing the problem. That would be much more useful. As it stands there is little benefit to using them (for me anyway) over the normal trial and error of removing one device at a time, which was eventually what I had to do anyway more or less.

Still your help has been very welcome and I really appreciate it. Thanks.

Link to comment
Share on other sites

Hello, I am doing fine up until the part where you have to open the summary table, I enter the exact code (copy and pasted) into the "configure symbol paths". Then I right click on the Interupt CPU usage table, and click load symbols, then I right click it again, and click on summary table, then it just does not respond, I have tried leaving it for 10 minutes to see if it would respond, but it didnt, so I have to close everything (the whole windows performance windows) as none of it responds, then I have to re-open it.

I am using windows 7 home premium, 32bit.

Thank you,

Brad

EDIT: I've done it now, the thing that is using up my CPU is ataport.SYS, I think this may be something to do with my graphics card, not too sure, im going to try update this now.

Edited by mrbrad990
Link to comment
Share on other sites

  • 3 weeks later...

Me again.

My problem is still not resolved although it took a long time to reappear.

The variation you mentioned in post #467 did not seem to give any more information than the normal method.

I cannot run a cleanboot for reasons given earlier ie the problem sometimes takes days to appear and a reboot cures it till the next time.

Never mind.

hottroc.

Link to comment
Share on other sites

  • 1 month later...

Afraid so, yes, it does still occur. I try uninstalling different USB devices including hubs and controllers in Device Manager but so far I still cannot solve it. Oddly the time taken for the problem to recur following a reboot does not appear to be constant. Sometimes it can be 2-3 hours, sometimes (usually) longer up to a few days. I wonder if there is a loose solder joint on my motherboard or something, but I just can't tell. I did think the internal card reader was the main suspect but still not sure. I have now changed it for a spare one I had laying around (same model) but the problem has still reappeared since so...

I've sort of given up a bit, it was driving me nuts and taking up lots of time so I have just let it go and decided to just put up with the occasional reboot (on average a couple of days I suppose).

Link to comment
Share on other sites

I looked at the trace and saw many UNKNOWN entries:



CPU 0 Usage, CPU 1 Usage, CPU 2 Usage, CPU 3 Usage,
1892904 3.53, 1897061 3.54, 2006537 3.74, 1893732 3.53, "Unknown"

this shows that a driver uses dynamically generated code. In your case it is the SPTD driver which installs with tools like Daemon Tools. So, run the SPTD driver setup and remove the driver. Now make a new trace to see if an other driver causes the issues.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...