hardirqs(8)
π hardirqs(8) π
okay bestie, this is the manual page for hardirqs, the tool that tells you how much time your computer spends handling hard IRQs (hard interrupts) π
it's a hardirqs(8) situation, so buckle up β¨
β¨ NAME β¨
hardirqs - Measure hard IRQ (hard interrupt) event time. Uses Linux eBPF/bcc. π
π§ SYNOPSIS π§
hardirqs [-h] [-T] [-N] [-C] [-d] [interval] [outputs]
π« DESCRIPTION π«
okay so this one summarizes the time spent servicing hard IRQs (hard interrupts), and it can show that time as either totals or histogram distributions π the whole-system version of this time shows up in the %irq column of mpstat(1), and event counts (but not times) live in /proc/interrupts π¦
this tool uses the irq:irq_handler_entry and irq:irq_handler_exit kernel tracepoints, which is a stable tracing mechanism π«Ά BPF programs can attach to tracepoints from Linux 4.7 only, so keep that in mind. an older version of this tool is available in tools/old, and it uses kprobes instead of tracepoints πΈ
since this uses BPF, only the root user can use this tool π no root, no hardirqs, sorry bestie
π REQUIREMENTS π
CONFIG_BPF and bcc π₯
π OPTIONS π
-hβ prints the usage message π-Tβ includes timestamps on the output β°-Nβ outputs in nanoseconds π¬-Cβ counts events only, no times π’-dβ shows the IRQ time distribution as histograms π-c CPUβ traces on this CPU only π―
π§ EXAMPLES π§
okay here are the vibes, ranked by how iconic they are π
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 timestamps:
# hardirqs -NT 1
Sum hard IRQ event time on CPU 1 until Ctrl-C:
# hardirqs -c 1
π FIELDS π
HARDIRQβ the irq action name for this hard IRQ π·οΈTOTAL_usecsβ total time spent in this hard IRQ, in microseconds β±οΈTOTAL_nsecsβ total time spent in this hard IRQ, in nanoseconds β±οΈusecsβ range of microseconds for this bucket πnsecsβ range of nanoseconds for this bucket πcountβ number of hard IRQs in this time range π’distributionβ ASCII representation of the distribution (the count column) π
π₯ OVERHEAD π₯
β οΈ heads up bestie: this traces kernel functions and keeps in-kernel counts, which are asynchronously copied to user-space π₯Ί if the rate of interrupts is very high (>1M/sec), it's still a relatively efficient way to trace these events, so the overhead should be small for normal workloads, but it could get noticeable for heavy workloads. measure in a test environment before use π§ͺ
π SOURCE π
this is from bcc π«Ά
https://github.com/iovisor/bcc
also look in the bcc distribution for a companion _examples.txt file with example usage, output, and commentary for this tool π
π» OS π»
Linux π§
π§ STABILITY π§
Unstable - in development. π
π©βπ» AUTHOR π©βπ»
Brendan Gregg, Hengqi Chen, Rocky Xing π
π SEE ALSO π
softirqs(8) π¦
bestie, that's the whole page π it's from the USER COMMANDS section, dated 2015-10-20, and the manual page is hardirqs(8) β¨ go forth and measure those interrupts, you literally got this π π
π¦ where this page comes from
- centos-stream 10: bcc-tools 0.36.1-1.el10 Β· Apache-2.0
- centos-stream 9: bcc-tools 0.36.1-1.el9 Β· ASL 2.0
- fedora 43: bcc-tools 0.35.0-2.fc43 Β· Apache-2.0
- fedora 44: bcc-tools 0.35.0-5.fc44 Β· Apache-2.0
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms