Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 



MagicAndre1981

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

Recommended Posts


doveman    0

I did

xperf -on latency -stackwalk profile

and after seeing problems in LatencyMon

xperf -d DPC_Interrupt.etl

how can I know when "the high DPC and Interrupt usage occurs" if I don't run LatencyMon?

Share this post


Link to post
Share on other sites
doveman    0

don't run LatancyMon the same time. run an older ProcExpl version (12.04) or ProcessHacker with NetWork/Disk IO tracing disabled.

OK, but how do I identify high ISR or DPC execution time or high kernel latency with ProcExpl? This is what I'm seeing:

procexpl.png

And what commands do you want me to run to make the trace if the ones I posted from your original post are no good?

Share this post


Link to post
Share on other sites

OK, but how do I identify high ISR or DPC execution time or high kernel latency with ProcExpl?

procexpl.png

look for high CPU usage of the nodes DPC/Interrupt. If you see this, run the command inside ProcExp with File->Run (CTRL+R) when you see the high CPU usage.

Share this post


Link to post
Share on other sites
doveman    0
look for high CPU usage of the nodes DPC/Interrupt. If you see this, run the command inside ProcExp with File->Run (CTRL+R) when you see the high CPU usage.

OK, thanks.

EDIT: Actually that doesn't seem practical, as firstly ProcExp doesn't report high usage, so I'd have to sit staring at it for ages trying to catch a spike and also even if the CPU usage doesn't go high, I'm still seeing excessively high kernel latency and/or DPC and latency execution times in LatencyMon.

Edited by doveman

Share this post


Link to post
Share on other sites

yes, Procexp shows high usage f you have it. As I said, you can't run t programs side by side which use ETW to capture data. This is a Windows limitation.

Share this post


Link to post
Share on other sites
doveman    0

yes, Procexp shows high usage f you have it. As I said, you can't run t programs side by side which use ETW to capture data. This is a Windows limitation.

Oh well, looks like I'll have to try and work this out on my own. The ataport.sys does seem much better now, but I uninstalled some software as well so I'm not sure what fixed that. Really only ndis.sys and netbt.sys are too high (0.43ms) for my liking now. The next highest are USBPORT.sys 0.25ms, CLASSPNP.SYS 0.22ms, ntoskrnl.exe 0.18ms with everything else under 0.09ms

Edited by doveman

Share this post


Link to post
Share on other sites
doveman    0

the values you have are ok. Do you have any issues (audio, video drops)?

I think things are OK at the moment. I get brief breaks in sound with TV (which aren't replicated if I rewind and play that section again) but I don't think it's a latency issue as it doesn't happen when watching movie files. Cutscenes in games are OK now, but I still get quite a bit of brief freezing / stuttering when actually playing the game, but I guess it could just be the game loading data and something I have to put up with.

I was just a bit bothered by ndis.sys and netbt.sys as they used to be much lower, and I'd like to use VMware workstation but last time I tried it, these two (and tcpip.sys) went much higher and I had bad video / audio problems again.

Share this post


Link to post
Share on other sites
doveman    0

have you now made a trace which can be used or do you still run LatencyMon the same time?

No, there's no way for me to tell when the latency or ISR or DPC execution time goes too high without running LatencyMon, so it's impossible for me to know when to make a trace.

The ataport.sys spike seems to have been linked to Truecrypt and hasn't reoccured since I closed that. ndis.sys is higher than ever though now at 0.69ms (netbt.sys is at 0.1ms and tcpip.sys is at 0.26ms) and the highest kernel latency is on the edge at 906us.

Share this post


Link to post
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.

×