1hardirqs(8) System Manager's Manual hardirqs(8)
2
3
4
6 hardirqs - Measure hard IRQ (hard interrupt) event time. Uses Linux
7 eBPF/bcc.
8
10 hardirqs [-h] [-T] [-N] [-C] [-d] [interval] [outputs]
11
13 This summarizes the time spent servicing hard IRQs (hard interrupts),
14 and can show this time as either totals or histogram distributions. A
15 system-wide summary of this time is shown by the %irq column of mp‐
16 stat(1), and event counts (but not times) are shown by /proc/inter‐
17 rupts.
18
19 This tool uses the irq:irq_handler_entry and irq:irq_handler_exit ker‐
20 nel tracepoints, which is a stable tracing mechanism. BPF programs can
21 attach to tracepoints from Linux 4.7 only. An older version of this
22 tool is available in tools/old, and uses kprobes instead of trace‐
23 points.
24
25 Since this uses BPF, only the root user can use this tool.
26
28 CONFIG_BPF and bcc.
29
31 -h Print usage message.
32
33 -T Include timestamps on output.
34
35 -N Output in nanoseconds.
36
37 -C Count events only.
38
39 -d Show IRQ time distribution as histograms.
40
41 -c CPU Trace on this CPU only.
42
44 Sum hard IRQ event time until Ctrl-C:
45 # hardirqs
46
47 Show hard IRQ event time as histograms:
48 # hardirqs -d
49
50 Print 1 second summaries, 10 times:
51 # hardirqs 1 10
52
53 1 second summaries, printed in nanoseconds, with timestamps:
54 # hardirqs -NT 1
55
56 Sum hard IRQ event time on CPU 1 until Ctrl-C:
57 # hardirqs -c 1
58
60 HARDIRQ
61 The irq action name for this hard IRQ.
62
63 TOTAL_usecs
64 Total time spent in this hard IRQ in microseconds.
65
66 TOTAL_nsecs
67 Total time spent in this hard IRQ in nanoseconds.
68
69 usecs Range of microseconds for this bucket.
70
71 nsecs Range of nanoseconds for this bucket.
72
73 count Number of hard IRQs in this time range.
74
75 distribution
76 ASCII representation of the distribution (the count column).
77
79 This traces kernel functions and maintains in-kernel counts, which are
80 asynchronously copied to user-space. While the rate of interrupts be
81 very high (>1M/sec), this is a relatively efficient way to trace these
82 events, and so the overhead is expected to be small for normal work‐
83 loads, but could become noticeable for heavy workloads. Measure in a
84 test environment before use.
85
87 This is from bcc.
88
89 https://github.com/iovisor/bcc
90
91 Also look in the bcc distribution for a companion _examples.txt file
92 containing example usage, output, and commentary for this tool.
93
95 Linux
96
98 Unstable - in development.
99
101 Brendan Gregg, Hengqi Chen, Rocky Xing
102
104 softirqs(8)
105
106
107
108USER COMMANDS 2015-10-20 hardirqs(8)