High level of interrupts on PC

  • Thread starter Thread starter vfclists
  • Start date Start date
V

vfclists

Of late I have begun to notice a high level of interrupts on my PC.
Sometimes about 50% of CPU utilization goes on hardware interrupts
when I check it with Process Explorer.

I am currently trying to copy a 2Gb file and the time for copying
keeps fluctuating between 80min and 30min and a 7200RPM SATA drive.

What could be the most likely problem?
 
vfclists said:
Of late I have begun to notice a high level of interrupts on my PC.
Sometimes about 50% of CPU utilization goes on hardware interrupts
when I check it with Process Explorer.

I am currently trying to copy a 2Gb file and the time for copying
keeps fluctuating between 80min and 30min and a 7200RPM SATA drive.

What could be the most likely problem?

I'm seeing the same thing with Vista 64 on my Dell Laptop. The CPU
utilization creeps skyward over a week or 2, eventually loading both cores
to 100%. As you have noticed, the odd thing is while the task mgr
performance tab shows 100% on both cores, it also shows NO process consuming
more than 0%. The only way to see the cause it is with Process Explorer,
and as you said it's hardware interrupts sucking up all the time.

I have tried disabling unneeded devices in the BIOS, but it still happens
from time to time. The only "fix" is to reboot the laptop. But it always
comes back eventually. Very irritating.

Bruce.
 
I'm seeing the same thing with Vista 64 on my Dell Laptop.  The CPU
utilization creeps skyward over a week or 2, eventually loading both cores
to 100%.  As you have noticed, the odd thing is while the task mgr
performance tab shows 100% on both cores, it also shows NO process consuming
more than 0%.  The only way to see the cause it is with Process Explorer,
and as you said it's hardware interrupts sucking up all the time.

I have tried disabling unneeded devices in the BIOS, but it still happens
from time to time.  The only "fix" is to reboot the laptop.  But it always
comes back eventually.  Very irritating.

Bruce.

Lets hope someone who sees this thread knows of a fix for it or can
help use diagnose the problem

Frank
 
Bill Blanton said:
Check that the drives' controllers haven't been switched to PIO mode.

See:
http://winhlp.com/node/10

Thanks but that didn't help. As bast I can tell, there are no Device
Manager settings for the disk controller, and nothing lists a disk mode like
PIO or DMA. Note that my laptop drive is SATA, so that option probably
doesn't apply.

The vbs script on that site reports no settable options.

And my CPU leach persists even when no application is doing anything and the
disk activity light is off.

Bruce.
 
Bruce. said:
Thanks but that didn't help. As bast I can tell, there are no Device
Manager settings for the disk controller, and nothing lists a disk mode like
PIO or DMA. Note that my laptop drive is SATA, so that option probably
doesn't apply.

The vbs script on that site reports no settable options.

And my CPU leach persists even when no application is doing anything and the
disk activity light is off.

Bruce.

In the Device Manager, click on IDE ATA/ATAPI controllers, and then
right-click on IDE Channel (or Primary IDE Channel or the like),
and then click on Properties, and then click on Advanced Settings; that
will show you the PIO/DMA info.
 
Bob Willard said:
In the Device Manager, click on IDE ATA/ATAPI controllers, and then
right-click on IDE Channel (or Primary IDE Channel or the like),
and then click on Properties, and then click on Advanced Settings; that
will show you the PIO/DMA info.

Unfortunately, that doesn't exist on my Dell laptop's Device Manager. What
I do have is:

Storage Controllers
Intel(R) ICH8M-E/ICH9M-E SATA RAID Controller
Microsoft iSCSI Initiator

Those don't have any PIO/DMA settings I can find.

Bruce.
 
Bruce. said:
Unfortunately, that doesn't exist on my Dell laptop's Device Manager. What
I do have is:

Storage Controllers
Intel(R) ICH8M-E/ICH9M-E SATA RAID Controller
Microsoft iSCSI Initiator

Those don't have any PIO/DMA settings I can find.

Bruce.

"Microsoft iSCSI Initiator"

http://www.microsoft.com/downloads/...1a-15d6-4585-b385-befd1319f825&displaylang=en

"enables connection of a Windows host to an external iSCSI storage array
using Ethernet NICs"

In terms of tracing down interrupts, the following seems a round-about way to do it.
I'd hoped there would be a Performance plugin counter feature, so you
could simply display how many interrupts occurred on a particular IRQ,
but I don't see a feature like that.

http://blogs.technet.com/b/markrussinovich/archive/2008/04/07/3031251.aspx

The idea is, the driver handling the interrupts, shows up as a significant
time sink. Kernrate is used to do the profiling.

I just tested kernrate in a virtual machine.

First, download this. It turns out, when I checked my cache of downloads,
I already had a copy of it. That saved some time.

"Windows Driver Kit Version 7.1.0"

http://www.microsoft.com/downloads/...FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff

GRMWDK_EN_7600_1.ISO 649,877,504 bytes

Their intention, is for you to burn a CD with that. A program like
Nero or Imgburn can convert an ISO9660, into a CD for you. Using IMAPI
and just copying that file to a CD, is not quite the same thing. The
ISO9660 is a file system, and when copied properly, there'll be a
whole bunch of files on that CD. Imgburn is for people who want a
free tool to make an ISO9660 CD.

In VirtualPC 2007, I don't need to burn a CD. I can simply mount the
ISO9660 and it shows up as a CD drive D:.

When I do that, there is an autorun on the CD. Or, if for some reason
that didn't work, you'd double click "KitSetup.exe".

In the dialog that eventually shows up, if you wait long enough, you'll
see that the installer has subsections. The subsections are crude and
still dump way more stuff on the C: drive than is absolutely necessary.

Full Development Environment
Build Environments
Samples
Tools <---- KernRate is in here
Help
Debugging Tools for Windows <--- (WinDbg and symchk are in here)
Device Simulation Framework
Windows Device Testing Framework

If you select the Tools option, they end up in:

C:\WinDDK\7600.16385.1\Tools\Other\i386
KernRate.exe 211KB

( WinDbg ends up in a separate place, in

C:\Program Files\Debugging Tools for Windows (x86)

I haven't figured out what to do with it yet, so won't say any more about it :-)
)

To match what is in that blog article, it looks like I need to
open a command prompt, navigate to the C:\WinDDK\7600.16385.1\Tools\Other\i386
folder, and then run "kernrate" as a command. It'll say to press
control-C when you're satisfied enough seconds of real time samples
have been collected. The bare trace, may show you the high runner
driver, without any further work. The high runner driver, is likely
to be involved with the high interrupt rate.

Now, I'm on a 32 bit OS, which is why I'm using the i386 version of tools.
There are also directories with ia64 (Itanium) and amd64 as names. Since
you're on Vista 64, you might want to look in amd64, instead of i386.

http://en.wikipedia.org/wiki/Itanium (where IA64 comes from)

http://en.wikipedia.org/wiki/X86-64 (where AMD64 comes from)

If you see a high runner, and don't know what it is, post
back the driver name. In the Russinovich blog, his high runner
was b57nd60x. The one above that, ntkrnlpa, is an OS component
(kernel).

Paul
 
Back
Top