I have windows XP SP3 on Intel Core Duo 2GHz. The "Interrupts" process, according to the Process Explorer, continuously take 30-40% CPU. Is it normal?
3 Answers
In very general terms an interrupt is generated by an IO device (such as a disk controller, network card, USB controller etc.) when it wants some attention from the processor - it's basically shouting 'Hey, can I have a bit of your time please!'.
The processor has its own jobs to be getting on with so when it gets an interrupt it has to stop what it's doing and deal with the device's requirements to move data or whatever. This shouldn't be too much work but with modern adapter cards dealing with lots of data they can generate a lot of interrupts per second for the processor. Traditionally computers had only a single processor so many operating systems never thought to spread out this interrupt handling work to more than just the first processor - this is still the case now, one network card CAN flood 'core 0' of even the most modern multi-core processor if the operating system won't share this workload.
There are a number of ways to get around this, one is called 'interrupt-coalescence' this is a feature of a network card that will bunch up a group of interrupts and send them through to the processor as a single one - this adds network latency but can save a lot of processor overhead. Another is called 'receive side scaling' that, in general terms, shares out the work of dealing with interrupts to more than just 'core 0' - lowering the emphasis of 'core 0' (which is still stuck doing a lot of other core OS functions in all but the most modern operating systems).
There's another cool function that doesn't have much to do with interrupts but can improve overall server performance called 'TCP offload' - this lets the network card do some of the work that the processor would normally do. All of these three functions need to be supported by the network adapter, the BIOS and the operating system, otherwise it doesn't work - as a reference take a look at THIS document from Microsoft, it explains things in much more detail.
I hope this helps.
- 100,240
- 9
- 106
- 238
It's perfectly normal if you are doing I/O operations (disk read/write, network traffic etc).
- 19,532
- 4
- 55
- 75
-
I running MS Messanger, Outlook, Firefox with this site and nothing else, that can use disk or network. And I did remember I saw this on my home machine with much more apps running. – Kamarey Jun 23 '09 at 09:35
-
Messenger, Outlook and Firefox will usually (depending on how much you do with it) generate quite a couple of I/O interrupts (practically speaking). No need to worry. Also if you do development/testing on localhost, don't forget that this will also generate interrupts – Martin M. Jun 23 '09 at 10:03
High interrupts, as other said, mean your CPU is busy attending to some piece of hardware that wants attention. It's completely normal when heavily using the hard drive or network.
If your system really is idle (make sure there are no background programs like bittorrent or defrag tools or anything running), and it's still high, then that's probably not normal.
For comparison, my Athlon dual core 3.11GHz system, running windows 7, several firefox windows open, and quite a few other background programs has Interrupts at less than 1% CPU in process explorer. When I copy files over the network at around 10MB/s, it jumps up to 10-15%.
Usually the cause is a bad driver or bad piece of hardware. Here's a few troubleshooting thing you can try to narrow it down:
- Go into msconfig and disable all startup programs, then reboot. If it goes away, then its a background program that's using something
- Get the manufacturer's test tool for your hard drive and run it. A failing hard drive will cause very high interrupts
- Remove non essential hardware like USB devices, DVD drive, sound network and graphics cards (if you have onboard video as well) one by one and see if the problem goes away
- Check for updated drivers for all hardware
- Check for BIOS updates for your motherboard
- Run memtest on the system
If you can narrow it down to a particular piece of hardware, try it in another computer and see if it causes the same high interrupt usage. If so, and driver/firmware updates don't help, then it needs to be replaced.
- 17,671
- 14
- 69
- 101