Monitoring interrupt activity on Linux hosts

While transferring a slew of data to one of my Linux boxes a few weeks back, I was curious how many interrupts were being generated each second. To answer my question, I installed the itop utility. Itop displays the number of interrupts per second that occur per device, and provides output similar to top. Here is a sample run:

$ itop -a

INT                NAME          RATE             MAX
  0 [             timer]     0 Ints/s     (max:     0)
  1 [             i8042]     0 Ints/s     (max:     0)
  6 [            floppy]     0 Ints/s     (max:     0)
  7 [          parport0]     0 Ints/s     (max:     0)
  8 [              rtc0]     0 Ints/s     (max:     0)
  9 [              acpi]     0 Ints/s     (max:     0)
 12 [             i8042]     0 Ints/s     (max:     0)
 15 [              ide0]     0 Ints/s     (max:     0)
 16 [     ehci_hcd:usb2]     0 Ints/s     (max:     0)
 17 [              ioc0]     0 Ints/s     (max:    24)
 18 [              eth0]  1400 Ints/s     (max:  1959)
 19 [   uhci_hcd:usb1, ]     0 Ints/s     (max:     0)

This is a useful tool, and one I want to remember for the future!

2 thoughts on “Monitoring interrupt activity on Linux hosts”

  1. I’m very interested about explanation of this.
    One of testing servers just started lagging under heavy load few minutes ago and I’m searching what can cause this.
    I’ve just added yesterday second Gigabit card on PCI-Express to it and did bonding round-robin 2Gbit link to FreeNAS server to achieve more MB/s over iSCSI.
    But afer that it looks that server cannot handle this (4×2,7GHz, 6GB DDR2 667 and has RAID10 software). Have to disable bonding for br0 interface for LAN/iSCSI, looks fine without.

    What about /proc/interrupts ?

Leave a Reply

Your email address will not be published. Required fields are marked *