softirqs(8) System Manager's Manual softirqs(8)

# [NAME](#NAME)

softirqs - Measure soft IRQ (soft interrupt) event time. Uses Linux eBPF/bcc.

# [SYNOPSIS](#SYNOPSIS)

**softirqs \[-h] \[-T] \[-N] \[-C] \[-d] \[-c CPU] \[interval] \[count]**

# [DESCRIPTION](#DESCRIPTION)

This summarizes the time spent servicing soft IRQs (soft interrupts), and can show this time as either totals or histogram distributions. A system-wide summary of this time is shown by the %soft column of [mpstat(1)](/man/enterprise-packages/bcc/mpstat.1), and soft IRQ event counts (but not times) are available in /proc/softirqs.

This tool uses the irq:softirq\_enter and irq:softirq\_exit kernel tracepoints, which is a stable tracing mechanism. BPF programs can attach to tracepoints from Linux 4.7 only. An older version of this tool is available in tools/old, and uses kprobes instead of tracepoints.

Since this uses BPF, only the root user can use this tool.

# [REQUIREMENTS](#REQUIREMENTS)

CONFIG\_BPF and bcc.

# [OPTIONS](#OPTIONS)

[-h](#h)

Print usage message.

[-T](#T)

Include timestamps on output.

[-N](#N)

Output in nanoseconds.

[-C](#C)

Show the number of soft irq events.

[-d](#d)

Show IRQ time distribution as histograms.

[-c CPU](#c)

Trace on this CPU only.

# [EXAMPLES](#EXAMPLES)

[Sum soft IRQ event time until Ctrl-C:](#Sum)

\# **softirqs**

[Show the number of soft irq events:](#Show)

\# **softirqs -C**

[Show soft IRQ event time as histograms:](#Show~2)

\# **softirqs -d**

[Print 1 second summaries, 10 times:](#Print)

\# **softirqs 1 10**

1 second summaries, printed in nanoseconds, with timestamps:

\# **softirqs -NT 1**

[Sum soft IRQ event time on CPU 1 until Ctrl-C:](#Sum~2)

\# **softirqs -c 1**

# [FIELDS](#FIELDS)

[SOFTIRQ](#SOFTIRQ)

The kernel function name that performs the soft IRQ action.

[TOTAL\_usecs](#TOTAL_usecs)

Total time spent in this soft IRQ function in microseconds.

[TOTAL\_nsecs](#TOTAL_nsecs)

Total time spent in this soft IRQ function in nanoseconds.

[usecs](#usecs)

Range of microseconds for this bucket.

[nsecs](#nsecs)

Range of nanoseconds for this bucket.

[count](#count)

Number of soft IRQs in this time range.

[distribution](#distribution)

ASCII representation of the distribution (the count column).

# [OVERHEAD](#OVERHEAD)

This traces kernel functions and maintains in-kernel counts, which are asynchronously copied to user-space. While the rate of interrupts be very high (&gt;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.

# [SOURCE](#SOURCE)

This is from bcc.

https://github.com/iovisor/bcc

Also look in the bcc distribution for a companion \_examples.txt file containing example usage, output, and commentary for this tool.

# [OS](#OS)

Linux

# [STABILITY](#STABILITY)

Unstable - in development.

# [AUTHORS](#AUTHORS)

Brendan Gregg, Sasha Goldshtein, Rocky Xing

# [SEE ALSO](#SEE_ALSO)

[hardirqs(8)](/man/enterprise-packages/bcc/hardirqs.8)

2015-10-20 USER COMMANDS

---

Document: softirqs(8) from bcc 0.37.0-r2 (Chainguard OS)
Source: https://github.com/iovisor/bcc
