Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, February 9, 2022



intrstat - report interrupt statistics


/usr/sbin/intrstat [-c cpulist | -C processor_set_id] [-T u | d ]
     [-x opt[=val]] [interval [count]]


The intrstat utility gathers and displays runtime interrupt statistics. The output is a table of device names and CPU IDs, where each row of the table denotes a device, and each column of the table denotes a CPU. Each cell in the table contains both the raw number of interrupts for the given device on the given CPU, and the percentage of absolute time spent in that device's interrupt handler on that CPU.

The device name is given in the form of {name}#{instance}. The name is the normalized driver name, and typically corresponds to the name of the module implementing the driver. See ddi_driver_name(9F) man page. Many Oracle-delivered drivers have their own manual pages. See Intro(4) man page.

If standard output is a terminal, the table contains as many columns of data as can fit within the terminal width. If standard output is not a terminal, the table contains at most four columns of data. By default, data is gathered and displayed for all CPUs. If the data cannot fit in a single table, it is printed across multiple tables. The set of CPUs for which data is displayed can be optionally specified with the –c or –C option.

By default, intrstat displays data once per second and runs indefinitely. Both of these behaviors can be optionally controlled with the interval and count parameters, respectively. See OPERANDS.

Because intrstat uses dynamic discovery, it reports only on devices that raise interrupts while the command is running. Any devices that are silent while intrstat is running are not displayed.

intrstat induces a small system-wide performance degradation. As a result, only the super-user can run intrstat by default. The Oracle Solaris 11.4 DTrace (Dynamic Tracing) Guide explains how administrators can grant privileges to other users to permit them to run intrstat command.


The following options are supported:

–c cpulist

Displays data for the CPUs specified by cpulist.

cpulist can be a single processor ID (for example, 4), a range of processor IDs (for example, 4-6), or a comma separated list of processor IDs or processor ID ranges (for example, 4,5,6 or 4,6-8).

–C processor_set_id

Displays data for the CPUs in the processor set specified by processor_set_id.

intrstat modifies its output to always reflect the CPUs in the specified processor set. If a CPU is added to the set, intrstat modifies its output to include the added CPU. If a CPU is removed from the set, intrstat modifies its output to exclude the removed CPU. At most one processor set can be specified.

–T u | d

Display a time stamp.

Specify u for a printed representation of the internal representation of time. See time(2). Specify d for standard date format. See date(1) man page.

–x opt[=val]

Enable or modify a DTrace runtime option or D compiler option. The list of options is found in the Oracle Solaris 11.4 DTrace (Dynamic Tracing) Guide. A boolean option is enabled by specifying its name. Options with values are set by separating the option name and value with an equal sign (=).


The following operands are supported:


Indicates the number of times intrstat will display its output before exiting.


Indicates the number of seconds between displays of intrstat output.


Example 1 Using intrstat Without Options

Without options, intrstat displays a table of trap types and CPUs. At most, four columns can fit in the default terminal width. If there are more than four CPUs, multiple tables are displayed.

The following example runs intrstat on a uniprocessor Intel IA/32-based laptop:

example# intrstat

       device |      cpu0 %tim      cpu1 %tim
       ahci#0 |        82  0.3         0  0.0
     e1000g#0 |         0  0.0         7  0.0
       ehci#0 |         0  0.0         6  0.0
       ehci#1 |         2  0.0         0  0.0
       i915#0 |         0  0.0         1  0.0
        iwh#0 |         0  0.0         1  0.0
       uhci#0 |         0  0.0         1  0.0
       uhci#2 |         0  0.0         6  0.0
       uhci#3 |         2  0.0         0  0.0
       uhci#4 |         0  0.0         6  0.0

       device |      cpu0 %tim      cpu1 %tim
       ahci#0 |         1  0.0         0  0.0
     e1000g#0 |         0  0.0        18  0.0
       ehci#0 |         0  0.0         6  0.0
       ehci#1 |         2  0.0         0  0.0
       i915#0 |         0  0.0         2  0.0
        iwh#0 |         0  0.0         2  0.0
       uhci#0 |         0  0.0         2  0.0
       uhci#2 |         0  0.0         6  0.0
       uhci#3 |         2  0.0         0  0.0
       uhci#4 |         0  0.0         6  0.0


See attributes(7) for descriptions of the following attributes:

Interface Stability
See below.

The command-line syntax is Committed. The human-readable output is Uncommitted.

See Also

Intro(4), attributes(7), dtrace(8), trapstat(8), ddi_driver_name(9F)

Oracle Solaris 11.4 DTrace (Dynamic Tracing) Guide


intrstat does not report interrupts on cpu's which are added during the execution of intrstat. A new instance of intrstat will show interrupts on both new and existing cpu's.