What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

IRQs (Interrupt Requests) are hardware-generated notifications that tell an operating system a device needs attention. A network card can signal that packets arrived, a storage controller can report a completed transfer, and a keyboard can announce a key press. The CPU then runs the appropriate kernel and driver code instead of repeatedly checking every device.

Older PCs used IRQs as numbered physical interrupt lines. Modern systems also use message-signaled interrupts (MSI and MSI-X), so an IRQ number is usually an operating-system identifier rather than a permanent wire or universal device assignment.

How an IRQ works

Think of polling as repeatedly checking whether someone is at the door. An IRQ is a doorbell: the device signals only when an event needs service. The analogy is simplified, but it captures why interrupts avoid constant status checks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. A device detects an event, such as received data or completed I/O.
  2. The device raises an interrupt line or sends an interrupt message.
  3. An interrupt controller routes the request to a processor.
  4. The processor enters kernel interrupt code and the operating system identifies the source.
  5. The device driver’s interrupt service routine (ISR) runs.
  6. The driver acknowledges or clears the device condition.
  7. Urgent work is completed immediately; larger operations are deferred to a safer context.
  8. The device’s data or status is then made available to the rest of the operating system and applications.

Linux describes interrupts as arriving over a pin or a packet, while Windows drivers register interrupt service routines for physical-device interrupts (Linux IRQ concepts; Windows ISR model).

What are IRQs used for?

  • Input: keyboards, mice, touch controllers and other human-interface devices.
  • Networking: packet arrival, transmit completion and receive-queue events.
  • Storage: completion of reads, writes and command queues.
  • Timers: periodic operating-system scheduling and hardware timing events.
  • Serial and embedded peripherals: received characters, buffer status and device events.
  • DMA completion: a device reports that a memory transfer finished. DMA moves the data; the IRQ usually signals completion.
  • Errors and wake events: hardware faults or interrupts from devices permitted to wake a suspended system.

The exact sources depend on the platform, bus, firmware, device and driver. Not every device has one dedicated physical IRQ.

IRQ, interrupt, ISR and interrupt vector: the difference

  • IRQ: the request, or the operating-system identifier for its interrupt source.
  • Interrupt controller: routing hardware that prioritizes, masks and distributes requests.
  • Interrupt vector: a dispatch identifier used to select interrupt-entry code.
  • ISR: the short handler that responds to the event.
  • Driver: the larger software component that understands the device.
  • Deferred work: processing postponed because an ISR must remain brief and safe.

An IRQ is therefore not the handler itself, and it normally does not transfer application data by itself.

What does an IRQ number mean?

An IRQ number is an identifier that lets the operating system and drivers refer to an interrupt source. Linux manages IRQ descriptors in its generic IRQ subsystem; Windows assigns interrupt vectors and related resources through Plug and Play. Numbers can differ between machines, boots, architectures and virtual machines, and they may represent message vectors rather than physical wires (Linux generic IRQ; Windows hardware resources).

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Historical PC tables that associate IRQ 0–15 with a timer, keyboard or serial port describe legacy conventions only. They are not a reliable map for every current Windows or Linux computer.

Legacy lines, shared IRQs and modern MSI

Older hardware asserted one of a limited number of interrupt-controller input lines. Because lines were scarce, several devices could share one. When a shared IRQ arrives, each registered handler checks whether its device caused the event. Sharing is supported; it is not automatically a conflict, although it adds overhead and depends on correct drivers.

PCI and PCI Express devices commonly use Message Signaled Interrupts (MSI) or MSI-X. Instead of asserting a shared pin, the device writes a message to a special address. MSI-X supports many independently configurable vectors, allowing a multiqueue network or storage device to assign interrupt paths to different queues or CPUs. Linux exposes legacy INTx, MSI and MSI-X allocation through APIs such as pci_alloc_irq_vectors() (Linux MSI documentation).

MSI/MSI-X can reduce shared-line overhead and improve scaling, but they are not guaranteed to be faster. Firmware, hardware, virtualization, operating-system support and driver quality matter, and a driver must tolerate falling back to fewer vectors or a line-based interrupt.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

IRQ affinity, moderation and performance

Interrupt affinity is the set of processors allowed to service a device’s interrupts. Distributing vectors across CPUs can improve cache and NUMA locality, while concentrating them on one CPU can create a bottleneck. Windows and Linux both provide driver or kernel mechanisms for affinity policy (Windows affinity).

High interrupt activity is not automatically a fault: a busy network or storage device may legitimately generate many interrupts. Problems are more likely when the rate is disproportionate to the workload, one CPU is saturated, or users see latency, dropouts or poor responsiveness.

Interrupt moderation lets hardware batch several events into fewer notifications. Lower moderation can reduce latency but raises interrupt and CPU overhead; higher moderation can improve throughput efficiency but adds delay. Controls and names vary by driver. High-throughput systems may also switch to a hybrid model: an interrupt wakes processing, which briefly polls a queue.

Linux and Windows diagnostics

Linux

To see interrupt counts by CPU and associated labels, run:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
cat /proc/interrupts

Per-IRQ directories commonly appear under /proc/irq/. Where supported, an affinity mask can be viewed with:

cat /proc/irq/<IRQ_NUMBER>/smp_affinity

These are Linux-specific kernel interfaces; output and file availability vary by kernel, architecture and drivers. Linux drivers use APIs including request_irq(), free_irq(), enable_irq() and disable_irq().

Windows

Windows assigns interrupt resources through Plug and Play and the driver framework. A driver can receive line-based or message-signaled resources, and resource balancing may provide fewer MSI/MSI-X vectors than requested (Windows interrupt objects). There is no single universal user-facing IRQ-number workflow equivalent to reading Linux’s /proc/interrupts; device and driver diagnostics are the appropriate source.

Troubleshooting excessive or problematic IRQ activity

  1. Identify the device associated with the busy IRQ or vector.
  2. Compare interrupt rates with actual network, storage or input workload.
  3. Check driver, firmware and operating-system updates.
  4. Look for one device or CPU receiving a disproportionate share.
  5. Verify whether MSI/MSI-X is active where the device and driver support it.
  6. Investigate interrupt storms, repeated unclaimed interrupts or “nobody cared”-type kernel reports; an operating system may disable a problematic IRQ.
  7. Measure a baseline before changing affinity or moderation, change one setting at a time, and keep a recovery path.

Manually changing an IRQ number is rarely the right modern fix. Resource allocation is normally automatic, and forcing settings can worsen stability or prevent a device from starting.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Important distinctions

  • IRQ versus IRQL: on Windows, IRQL is an execution-priority level; it is not an interrupt request resource.
  • IRQ versus software interrupt: a device IRQ originates from hardware or a hardware-generated message. Software interrupts, exceptions and system calls are different mechanisms.
  • IRQ versus DMA: DMA moves data between a device and memory; an IRQ commonly announces that the move or queue operation completed.
  • IRQ versus CPU core: an IRQ is not a core or a thread. Affinity controls which processors may handle it.

Frequently Asked Questions

Are IRQs still used on modern computers?

Yes. Modern systems use both legacy line-based interrupts and message-signaled interrupts such as MSI and MSI-X.

Can two devices share an IRQ?

Yes. Shared line-based interrupts are supported, especially on older PCI-style systems. Sharing alone is not evidence of a fault.

Is a high IRQ count bad?

Not necessarily. Judge it against the device workload, CPU distribution and symptoms such as latency, dropouts or high CPU usage.

What is MSI-X?

MSI-X is a message-signaled interrupt mechanism that provides many independently configurable vectors, useful for multiqueue network and storage devices.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why do IRQ numbers differ between computers?

The operating system assigns identifiers according to hardware, firmware, architecture, drivers and virtualization, so numbers are not universal.

Can I manually change an IRQ?

Modern Plug and Play systems usually manage resources automatically. Manual forcing is often unavailable or harmful; diagnose the device and driver first.

The Bottom Line

IRQs are the event-driven notification system that lets hardware request timely operating-system service. Understanding the distinction between legacy lines, shared interrupts, MSI/MSI-X vectors, driver handlers and CPU affinity makes modern IRQ troubleshooting far less mysterious.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.