How to stop System Interrupts from eating up CPU

6

I have Windows 8.1 Pro N x64 on my Toshiba Satellite L505D-S5965 and there is a processes in Task Manager that is eating up my CPU. It's called System Interrupts and it takes up 1%-29% of CPU Power (It changes a lot). I heard that AMD hardware causes it so I uninstalled then reinstalled my ATI Radeon 3100 Graphics card but System Interrupts was still there. I also uninstalled then reinstalled my Realtek RTL8187SE Wifi Card and that didn't work. I also saw that I should install Process Explorer and that it would help me see what's causing it but I don't know where I should be looking. How do I keep System Interrupts from using too much CPU?

kprovost7314

Posted 2015-04-10T19:14:28.250

Reputation: 227

What else is active. That sounds as though something is churning your disk. Are you short on memory and so paging a lot? Generally, the Antimalware service uses spare cycles to do its stuff but if there is a lot of disk file activity it may get very active. – Julian Knight – 2015-04-10T21:01:49.033

Answers

7

"System interrupts" isn't really a process, even though it appears in the "Details" tab lists of processes. Interrupts are not charged to any particular process. Task Manager just displays it that way to give it a label.

A high interrupt rate is normally caused by one of:

  1. An I/O device with a lot of activity. The commenter asked if your disk was very busy - is it? If so, use the Performance tab, Disk column to see who is doing lots of disk I/O. Or it could be network I/O.

  2. A flaky I/O device (could be anything. I once had a problem like this that was caused by a flaky USB flash card reader. It was reported as time spent in the USB host controller driver but there was nothing wrong with the HC or its driver.

  3. A buggy device driver for an I/O device.

Process Explorer will not help with this issue, as the time is being spent in kernel mode, and Process Explorer won't show you kernel mode stacks.

One way to diagnose this is to remove (or, if it's not removable, disable) various devices until the problem goes away. If it's a laptop, try removing the ATI driver and run with the Windows default video driver. Otherwise, try a different video card. For your WiFi card - did the interrupts go away when you uninstalled it?

The only tool I know of that is really useful for these problems is the Windows Performance Toolkit. It will show you which drivers (and, if symbols are available, which routines in them... though that isn't always useful) are taking up all the time.

Here's a thread over at ServerFault that gives you the basics. https://serverfault.com/questions/104131/how-can-i-find-out-what-is-causing-interrupts-on-windows

Jamie Hanrahan

Posted 2015-04-10T19:14:28.250

Reputation: 19 777

Turns out it was my SATA/USB Port (amd_sata.sys) and something with hal.dll (I don't know what that is yet). Now it eats around 0%-3.6% of my CPU. – kprovost7314 – 2015-05-03T23:10:32.797

@kprovost7314 hal.dll is like a driver for the "platform" - some parts of the chipset, the BIOS code that Windows allows itself to look at (ACPI "code" and tables), etc. It has so much functionality in it that identifying it doesn't narrow down a problem space much. Glad you found the culprit. How did you fix it? – Jamie Hanrahan – 2015-05-03T23:27:02.377

2I opened a Command Prompt and used the two commands "xperf -on base+interrupt" and "xperf -d interrupt_trace.etl". Then I opened Windows Performance Analyzer to see what was causing the interrupts and it was mostly amd_sata.dll so I did some research on it and it was my SATA/USB driver so I uninstalled it from Device Manager and not it's fixed. I might not worry about hal.dll since it's a big part of the BIOS. – kprovost7314 – 2015-05-03T23:38:56.210

@kprovost7314 Sounds like flawless procedure on the analysis side. But if you uninstalled that driver, what are you using to run your SATA drives and your USB ports? You really need the SATA, and most people like having USB! – Jamie Hanrahan – 2015-05-04T08:30:19.007

1I have 2 other USB ports (no need for SATA), and all I did was plug up my fan to it (the fan helped out with the heat on the cup usage). – kprovost7314 – 2015-05-04T22:51:08.710

1

You can try LatencyMon. That will tell you what module is taking the most time with respect to DPC and ISR.

I was getting bad stuttering on my system. You can see below that the culprit seems to have been ndis.sys.

I turned off the on-board LAN controller in the BIOS because I wasn't using it (I am using a USB wireless dongle for my network adapter). And I updated the driver for my dongle. That seems to have fixed the problem. Fingers crossed, the problem was somewhat intermittent.

dangph

Posted 2015-04-10T19:14:28.250

Reputation: 3 478