hardirqs - Measure hard IRQ (hard interrupt) event time. Uses Linux eBPF/bcc.
hardirqs [-h] [-T] [-N] [-d] [interval] [count]
This summarizes the time spent servicing hard IRQs (hard interrupts), and can
show this time as either totals or histogram distributions. A system-wide
summary of this time is shown by the %irq column of mpstat(1), and event
counts (but not times) are shown by /proc/interrupts.
WARNING: This currently uses dynamic tracing of hard interrupts. You should
understand what this means before use. Try in a test environment. Future
versions should switch to tracepoints.
Since this uses BPF, only the root user can use this tool.
CONFIG_BPF and bcc.
- Print usage message.
- Include timestamps on output.
- Output in nanoseconds
- Show IRQ time distribution as histograms
- Sum hard IRQ event time until Ctrl-C:
- # hardirqs
- Show hard IRQ event time as histograms:
- # hardirqs -d
- Print 1 second summaries, 10 times:
- # hardirqs 1 10
- 1 second summaries, printed in nanoseconds, with
- # hardirqs -NT 1
- The irq action name for this hard IRQ.
- Total time spent in this hard IRQ in microseconds.
- Total time spent in this hard IRQ in nanoseconds.
- Range of microseconds for this bucket.
- Range of nanoseconds for this bucket.
- Number of hard IRQs in this time range.
- ASCII representation of the distribution (the count
This traces kernel functions and maintains in-kernel counts, which are
asynchronously copied to user-space. While the rate of interrupts be very high
(>1M/sec), this is a relatively efficient way to trace these events, and so
the overhead is expected to be small for normal workloads, but could become
noticeable for heavy workloads. Measure in a test environment before use.
This is from bcc.
Also look in the bcc distribution for a companion _examples.txt file containing
example usage, output, and commentary for this tool.
Unstable - in development.