Login to Account Create an Account
How to get the cause of high CPU usage by DPC / Interrupt
Posted 11 July 2013 - 11:12 AM
Posted 11 July 2013 - 11:36 AM
I think the storport.sys is used by the AHCI driver.
You might be right but I'm not seeing it come up on my other system which is also running in AHCI mode. On that, I haven't installed the AMD Chipset driver yet, so the controller is listed as "Standard AHCI 1.0 Serial ATA Controller" rather than "AMD SATA" (on the system the trace is from, there's also a "Standard AHCI 1.0 Serial ATA Controller" listed, with nothing attached, so I presume there must be another controller on the MSI board that's not part of the AMD 990 chipset.)
In that case, the controller lists atapi.sys, ataport.sys, msahci.sys, pciidex.sys and the HDD lists disk.sys and partmgr.sys as on the other system.
Posted 11 July 2013 - 12:47 PM
Latency was OK until I launched Iron and about 20s later it hit 3000us+, so again it was probably the HDD activity (51us ISR, 607us DPC currently). If I restart LatencyMon, the latency hovers between 80-200us with the odd spike to 569us, although it just hit 1222us. Launching Plex and it hit 4029us.
I'll make a trace on this system, launching Iron and then Plex to see what it shows.
EDIT: OK, with this trace I first launched IE, which opens with only one tab, as I saw previously in LatencyMon that caused a spike of 1700us. Then I launched Iron and left it to settle for one minute, then I launched Plex and refreshed a couple of the libraries, which didn't take long. https://docs.google....dit?usp=sharing
I thought I'd see if I could understand the trace myself but when I double-click on the etl, WPA opens but then says it's stopped working with the following details
Problem signature: Problem Event Name: APPCRASH Application Name: wpa.exe Application Version: 6.2.9200.16384 Application Timestamp: 501077b4 Fault Module Name: clr.dll Fault Module Version: 4.0.30319.1008 Fault Module Timestamp: 517a18ff Exception Code: c0000005 Exception Offset: 000000000000d08d OS Version: 6.1.7601.2.1.0.256.1 Locale ID: 2057 Additional Information 1: 3749 Additional Information 2: 3749574877fa1c2583d7663bfe3c5c14 Additional Information 3: b4dc Additional Information 4: b4dcc7f0b08f3f363dd8378be51c7b0b Read our privacy statement online: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409 If the online privacy statement is not available, please read our privacy statement offline: C:\Windows\system32\en-US\erofflps.txt
EDIT: Hmm, this seems interesting. As a test, I tried putting Windows Power Options in High Perfomance rather than balanced, which runs the CPU at full speed permanently and also disables "Link State Power Management".
In this mode, I didn't see any spikes when launching IE, nor when running Plex. I still got a spike of around 2700us shortly after launching Iron though and another around 1600us when I was switching between tabs and scrolling through pages.
I've uploaded the trace, repeating the same sequence of tasks as before, here https://docs.google....dit?usp=sharing
EDIT2: I also updated the NIC, USB and SATA3 drivers and moved the HDD to the SATA3 port. Rebooting, it's still in High Performance mode and latency stayed under 250us at idle, no spike with IE, a spike to 2500us running Plex. With Iron however, I just got a spike of 4000us followed by one of 19536us! storport.sys is nowhere to be seen now the HDD is not connected to the AMD chipset SATA2 ports and instead ataport.sys is referenced again. Highest ISR of 32us for ataport.sys and DPC 130us for ntoskrnl but those figures are no higher than they were before the spikes happened so they don't seem very useful.
I'll make another trace. Here it is https://docs.google....dit?usp=sharing
Edited by doveman, 11 July 2013 - 02:22 PM.
Posted 11 July 2013 - 10:37 PM
and you still have disk issues. Your HDD is flushing the data all the time (open the etl with xperfview.exe, make a rightclick on the disk graph and select "Detail graph", here you see a lot of red lines). The depth queue is better but still 30 which is still bad.
Posted 12 July 2013 - 04:54 AM
Thanks. I guess it could be that I'd put the HDD on the SATA3 port that reduced the queue, or it might be High Performance mode or it might just be that it's a different system/HDD I guess. Could you compare with DPC_Interrupt_S2 for me please, which was using SATA2 in Balanced Mode?
The screen went blank when I ran HwInfo and when I next rebooted (after a hard reset) the Sidebar gadgets didn't appear and the mouse was stuck on busy and I couldn't do anything, so had to hard reset again, so I moved the HDD back to the SATA2 port. Mind you, both these problems happened before when it was on the SATA2 port and I thought I'd fixed them by uninstalling some software but anyway, at least it's booting again now.
I'll try disabling the Hauppage Nova-T 500 TV Tuner card as that creates two VIA USB buses. I'm also using a wireless mouse and dongle and a separate wireless keyboard and receiver, so I don't know if those would cause latency problems.
Posted 12 July 2013 - 09:35 AM
Seems I removed the Nova-T card by mistake (thought I'd removed the Nebula card) but that makes it easier to test without it
Here's another scan, doing the same tasks as before, without that card installed. I also disabled the HwInfo persistent driver in case that was causing problems: https://docs.google....dit?usp=sharing
Monitoring the hard pagefaults I found:
On first run, the process with the highest number of pagefaults is svchost at 190 (and rising) after about a minute. This isn't associated with high latency though, which is hovering below 75us with the odd spike to 200us and the highest around 400us.
I noticed that HwInfoMonitor (a sidebar gadget) was showing about 10 pagefaults, so closed that and restarted LatencyMon and then it only showed a count of 3 pagefaults after 3 minutes, one on svchost.exe and one on explorer.exe. I'm not sure where the third one is hiding! Then I launched Iron, and got a latency spike of 12325us (and several below 1000us) and the pagefault count rises to 240 by the time all the tabs have loaded, but processes only shows 50 on Iron.exe, 3 on another instance of Iron.exe, 8 on TrustedInstaller.exe, 2 on svchost.exe, 1 on explorer.exe and 1 on another instance of iron.exe. The total count and the first instance of iron.exe are slowing rising, now on 264 and 66 respectively. Iron seems to open an instance of iron.exe for each tab, judging by Task Manager, so I'm not sure if this indicates that most of the pagefaults are associated with one particular tab.
Then I closed Iron and re-enabled HwInfoMonitor and although it's still showing some pagefaults on that (6 after 1.5mins) I'm not seeing any of svchost.exe now.
I did manage to open the trace with xperfview and opened "Detal Graph" from Disk I/O and Disk Utilisation (seems to open the same view) but I can't see where it shows the Disk Queue.
Edited by doveman, 12 July 2013 - 09:36 AM.
Posted 12 July 2013 - 01:35 PM
the DPC2 shows 1 spike causes by the storport.sys. The 2b shows 1 USBport.sy spike.
Do you connect the SUb devices to the ASMedia XHCI Controller or Via USB2?
to get the Depth queue you have to make a rightclik inside the "detail graph" and select "Summary table" again. It is a bit confusing.
Posted 12 July 2013 - 01:53 PM
Nothing's connected to the Asmedia USB3 controller, just the Mouse dongle and Keyboard dongle connected to the top two USB2 ports on the rear of the board.
Did you have a look at the DPC_S2d trace with the Nova-T card removed? I'd be interested to know if that shows less/no USB spikes.
Posted 13 July 2013 - 12:42 AM
Total = 5102 for module storport.sys Elapsed Time, > 128 usecs AND <= 256 usecs, 75, or 1.47% Elapsed Time, > 256 usecs AND <= 512 usecs, 1, or 0.02% Total, 5102
Posted 13 July 2013 - 12:00 PM
the 2d is fine. Only 1 storport.sys spike, but not critical (under 1ms):
Thanks. I'm really at a loss to know what to do. The latency spikes would appear to be related to HDD writing and nothing to do with pagefaults. Running Windows defrag and analysing my partitions, svchost generates a ton of pagefaults (like 30000) but no latency spikes. If I Analyse in CCleaner, no latency spikes but when I run the Wipe, they appear.
Iron seems to generate a spike (3500us) just as it's finished opening all the saved tabs, so perhaps it does some writing at that point. Then again, if I open a new tab and browse to a new page, that obviously writes to the temporary files and doesn't generate a spike. Opera Portable also generates a spike of around 1100us just as it finishes loading. Sometimes IE, which only opens with one tab, does and other times it doesn't generate a spike, whether I'm in Balanced or High Performance mode. I get the odd spike to 600-700us with various apps but that's below the threshold to trigger LatencyMon's warning, so they probably don't matter.
Even in High Performance mode, opening MediaPortal generates several spikes from 1500us to 3908us. On the second launch, it hit 20874us and then 9000us. Even if I restart LatencyMon after MediaPortal has loaded, it spikes to around 2000us several times. It may be updating the media database in the background, which could involve writing new thumbnails, metadata, etc.
Then again I can update/install software without triggering any spikes.
Generally storport.sys is appearing from both ISR and DPC although sometimes ISR gets replaced by tcpip.sys or ndis.sys
EDIT: Strangely, if I run DPC Latency Checker with Iron open, the highest spike is 168us over several minutes. If I close that and start LatencyMon however, I get a spike of 758us within 10s. I don't know if DPC-LC is just sampling at a lower frequency than LatencyMon and missing the spikes. With MediaPortal, the highest spike DPC-LC shows is 138us.
Edited by doveman, 15 July 2013 - 11:54 AM.
Posted 16 July 2013 - 10:23 AM
I had a conversation with the author of LatencyMon. He first told me
"The interrupt-to-latency test is only meaningful without having any other programs running in the background."
to which I replied
"You say it's only meaningful without having any other programs running but my concern is that if I'm getting high latency spikes when certain activity happens, such as writing to disk, then these spikes are going to cause issues with audio/video when this activity happens whilst using A/V software, gaming, etc."
and he replied
"The interrupt-to-latency monitor simulates a critical audio process. This is why it is not recommended to be running any other activity on top.
That said, if you would like to paste the contents of the report view in a message, we don’t mind to take a look to see if there is anything peculiar in your system."
So I sent him three reports, one at idle, one launching Iron and one launching Mediaportal
and he replied
"Your system appears to be OK. Regarding excessive hard disk usage and spikes under load, I suggest you make sure that your harddisks have enough free space and are not fragmented. You can use the standard Windows defragmentation tool for that. If fragmentation on your system is low and not a problem then I suggest considering if excessive paging might be the problem (take a look at your memory load, kill of processes that consume a lot of memory, etc.)"
My HDDs are defragged and have plenty of space, so that's not an issue. I also told him that I see tons of hard pagefaults from svchost.exe when analysing the disk with Windows defrag but no latency spikes and he replied
"Whether they are connected depends on the priority of the process that incurs the page fault. Defrag runs at lower or idle priority. In principle, only a real-time priority process/thread can compete and thus influence the interrupt to process latency measurements."
Which makes sense, although it doesn't get me any nearer to understanding why I'm getting latency spikes with MediaPortal, where it does matter as that's for playing media and having spikes during that could cause audio/video glitches. I guess I should ask on the MediaPortal forums if anyone knows anything about that.
Edited by doveman, 16 July 2013 - 10:24 AM.
Posted 20 July 2013 - 05:00 PM
thanks for your good explanation however i believe the Windows Performance Tools Kit has at least a little changed since you wrote your first post (i was not able to select "Load Symbols" after i had selected an interval). And so i did not really find the summary of all calls page.
So i used LatencyMon as you suggested and found that "ACPI.sys" was in fact the cause of the high CPU load. In my case the high CPU load did not always start after booting (only around 50% of the time) sometimes it would only start short after starting any 3D intensive program and then stay until I either restart (50/50 gamble ) or go into energy saving mode and reactivate my notebook. So i first i disabled CPU throttling and uninstalled Asus' "Power4Gear" (which adds additional power saving plans to the windows ones) together with a bunch of other pre-installed software. That unfortunately did not change anything.
Of course I proceeded with the second step you in that case always suggested (updating the BIOS) ... AND THAT DID IT !
I hope that will help others in the future.
And of course ...THANK YOU VERY MUCH MagicAndre1981 for the time and work you invest to help!
(I also attached some system information and two LatencyMon screenshots)
Win 7 64Bit
Intel Core i5-2410M
GeFOrce GT 540M CUDA 2GB
one 500GB s-ata HDD
Edited by testmail123abc, 20 July 2013 - 05:11 PM.
Posted 20 July 2013 - 11:58 PM
thanks, I saw this several times for ASUS laptops. Updating the BIOS sometimes fixed it.
Posted 28 July 2013 - 11:37 AM
please stop all other DPC checking tools and give me a new file.
Posted 31 July 2013 - 10:22 PM
ok, there is a large USB 3.0 driver spike:
Total = 2592 for module nusb3xhc.sys Elapsed Time, > 131072 usecs AND <= 262144 usecs, 1, or 0.04% Total, 2592
your driver version is a bit old:
"NUSB3XHC.SYS", "22.214.171.124 (nusb3drv.091311-1603)"
Get an updated driver:
Posted 06 October 2013 - 02:47 PM
first I would like to tank you for this topic and for your effor to try to help others.
I have asus k53sc, intel i3, 4gb ram, Geforce mx 520. WIn 7 proffesional
I have OS on ssd disc solo and instead of my DvD I have hard disk.
I have High CPU usage ( 1 of the 4 threads ) is running on 100% most of the time. It starts after I play for some time a game. (WoT, WoW, LoL, AC, anything ) Sometimes it start after 2 minutes sometimes immediately.
I've tried program procexp because it can shut a proces down... it didint work.
Then I tried that it might be doing screwes in motherboard.... so I carefully disambled notebook and turned it on without screwes and it didint work either. I have tried to re-aply the cooling past on CPU and clean the notebook. I have tried formating the system I have installed every driver u can think of, BIOS chipset, graphic card, sound card everything. I tried to disalble special soundeffects coz I have found that it helped someone. Didn't work.
Then I have found your thread and found out that it is probably causing ACPI.sys . Read whole thread and havent found anything that would help me.
Here is my DPC file with the txt exported one.
I really appriciate what you are doing here and I am looking forward to your advice.
Posted 06 October 2013 - 10:05 PM
please upload it to a better file hoster (zippysharecom, mediafire.com or use dropbox/skydrive).
Posted 07 October 2013 - 11:10 AM
you already use the latest BIOS/UEFI. What is the cpu temperature while you see this?
Posted 07 October 2013 - 11:45 AM
you already use the latest BIOS/UEFI. What is the cpu temperature while you see this
yes I am using the newest bios, first core 0 has 62-65 and the second 55-58 celsius
Posted 08 October 2013 - 11:59 AM
use Speedfan to increase the speed of the CPU fans to cool down the CPU. Does this improve the situation?
Posted 08 October 2013 - 01:51 PM
use Speedfan to increase the speed of the CPU fans to cool down the CPU. Does this improve the situation?
I was really trying b ut I can't see my fan in speedfan and really don't know how to add it there... I know I have 1 fan there but could you help me please?
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users