Jump to content

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


Recommended Posts


Hi MagicAndre

I'm having some issues with one of my PCs again. I was having problems with stuttering in DCS BS2 and Arma2, so I switched to a spare Win7 x64 install on my HDD with less stuff installed.

The latency hovers around the 100us mark with occasional spikes of 150-200 and sometimes I seem to be able to get it to stay more in the 20-50us range but I can't find a consistent method of doing this. One time killing nusb3mon.exe seemed to do it but another time didn't seem to have any effect.

My main concern is that I keep getting USBPORT.sys showing up as the highest DPC routine execution time (sometimes the ISR as well) with very high spikes, like 1500us. I've just killed TVService.exe which is the service for Mediaportal and that seems to have stopped that but obviously I need that running to record and watch TV (and clearly when watching TV, or any video, I don't want latency problems). My TV Tuner (Hauppauge Nova-T 500) does work on the USB bus, despite being a PCI card, so that sort of makes sense but I didn't see this problem on my other Win7 x64 install.

I haven't installed the AMD SB drivers yet, mainly because when I did on my other PC it would no longer boot, just BSOD, so I'm a bit nervous but can make a True Image before doing so if you think that might help. So it's just using the Microsoft AHCI drivers at the moment.

EDIT: Just realised I was using an old version of LatencyMon. Updated now and the latency's showing below 25us most of the time with highest 41ms, so I guess it must be measured differently. I'll try restarting TVservice.exe and see if it's OK now.

Nope, after restarting LatencyMon it soon had a DPC spike on USBPORT.sys of 1263us. There's higher spikes on the latency as well, highest 108us, some 50, 70, 90.

Edited by doveman
Link to comment
Share on other sites

OK, so I started the trace with

D:\>xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode
Circular && timeout -1 && xperf -d interrupt.etl

let it run for about 30s, then started TVservice.exe, which takes about 30s to start. I'm not sure how much time gets captured in 256MB but I left it running for about 5 minutes which should hopefully have caught the USBPORT.sys spikes.

It created a kernel.etl and DPC_Interrupt.etl. I think from memory you only need the latter but please let me know if you want me to upload the kernel.etl as well.

http://www.mediafire.com/?7xoaddbpg99un0f

Link to comment
Share on other sites

the mouse causes the USBport.sys issues:

post-70718-0-68485300-1346531834_thumb.p

try to to connect the mouse to a different port.

Thanks, that seems to have fixed it. With TV playing (obviously with TVservice.exe running) I haven't had any USBPORT.sys DPC spikes since disconnecting the mouse from my USB hub and connecting it directly to a port on the motherboard (via an extension cable as my PC is about 5m from my desk). I'll test later without TV playing just to be sure, as that was how I was testing before but I doubt it will be worse when idle.

I can't pretend to understand the image you posted, nor why the mouse connected to the hub would only cause DPC spikes when TVservice.exe is running. Could you explain a bit so I can hopefully learn how to avoid similar issues in future?

Link to comment
Share on other sites

I have no idea why the USB issue occurs on the hub. Be happy that it is fixed.

Oh I am thanks. Just seems wierd the mouse on the hub only causes problems when TVservice.exe is running. I guess as the tuner card is on the USB bus some sort of wierd conflict must be happening with the mouse on the hub when the tuner is being accessed by TVservice.exe.

Link to comment
Share on other sites

Hi again Andre,

I just disconnected and uninstalled the driver software for the Focusrite Saffire and the same intermittent DPC spikes are occuring, USBPORT.SYS seems to be doing the dirty work here.

http://www.mediafire.com/?q2mrrs9bwztsc7y

Going to try swapping usb ports for the various peripherals. By the way, how do you configure settings to get that particular view from the performance toolkit that you've been posting screenshots of? eg: where you idenfied the Saffire.sys reference.

All the best,

Davros

Link to comment
Share on other sites

Hmm, I've had Latencymon running for 1hr21mins and it's just had a latency spike of 2825us! It must have happened in the last 10 minutes or so, as I don't think it had gone above 200us last time I looked and it was mostly staying in the 19-30us range.

Maybe I don't need to worry about such occasional glitches?

Link to comment
Share on other sites

Hi Andre,

I'm running the latest Asus drivers for that mobo. The AI utility is an "optional" add-on to optimise settings etc which loads automatically at startup. I'll try uninstalling it and see what happens.

All the best,

David

this time I see spikes of the AI Charger software of ASUS

You can get the view, by looking at the "summary table" of the "CPU sampling per process" and arrange the columns like I did.

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...