| KSTAT(8) | Maintenance Commands and Procedures | KSTAT(8) | 
kstat — display
    kernel statistics
| kstat | [ -Cjlq] [-p[-V]] [-Tu|d]
      [-cclass]
      [-mmodule]
      [-iinstance]
      [-nname]
      [-sstatistic]
      [interval [count]] | 
| kstat | [ -Cjlq] [-p[-V]] [-Tu|d]
      [-cclass]
      [module[:instance[:name[:statistic]]]]...
      [interval [count]] | 
The kstat utility examines the available
    kernel statistics, or kstats, on the system and reports those statistics
    which match the criteria specified on the command line. Each matching
    statistic is printed with its module, instance, and name fields, as well as
    its actual value.
Kernel statistics may be published by various kernel subsystems, such as drivers or loadable modules; each kstat has a module field that denotes its publisher. Since each module might have countable entities (such as multiple disks associated with the sd(4D) driver) for which it wishes to report statistics, the kstat also has an instance field to index the statistics for each entity; kstat instances are numbered starting from zero. Finally, the kstat is given a name unique within its module.
Each kstat may be a special kstat type, an array of name-value
    pairs, or raw data. In the name-value case, each reported value is given a
    label, which we refer to as the statistic. Known raw and special kstats are
    given statistic labels for each of their values by
    kstat; thus, all published values can be referenced
    as
    module:instance:name:statistic.
When invoked without any module operands or options,
    kstat will match all defined statistics on the
    system. Example invocations are provided below. All times are displayed as
    fractional seconds since system boot.
The tests specified by the following options are logically ANDed, and all matching kstats will be selected. A regular expression containing shell metacharacters must be protected from the shell by enclosing it with the appropriate quotes.
The argument for the -c,
    -i, -m,
    -n, and -s options may be
    specified as a shell glob pattern, or a regular expression enclosed in '/'
    characters.
-C-c
    class-i
    instance-j-l-m
    module-n
    name-p
    [-V]-V used,
      only values are displayed. All example output in this document is given in
      this format. If this option is not specified,
      kstat produces output in a human-readable, table
      format.-q-s
    statistic-T
    d | uThe following operands are supported:
The following exit values are returned:
In the following examples, all the command lines in a block produce the same output, as shown immediately below. The exact statistics and values will of course vary from machine to machine.
kstat
    Commandexample$ kstat -p -m unix -i 0 -n system_misc -s 'avenrun*' example$ kstat -p -s 'avenrun*' example$ kstat -p 'unix:0:system_misc:avenrun*' example$ kstat -p ':::avenrun*' example$ kstat -p ':::/^avenrun_[0-9]+min$/' unix:0:system_misc:avenrun_15min 3 unix:0:system_misc:avenrun_1min 4 unix:0:system_misc:avenrun_5min 2
kstat
    Commandexample$ kstat -p -m cpu_stat -s 'intr*' example$ kstat -p cpu_stat:::/^intr/ cpu_stat:0:cpu_stat0:intr 29682330 cpu_stat:0:cpu_stat0:intrblk 87 cpu_stat:0:cpu_stat0:intrthread 15054222 cpu_stat:1:cpu_stat1:intr 426073 cpu_stat:1:cpu_stat1:intrblk 51 cpu_stat:1:cpu_stat1:intrthread 289668 cpu_stat:2:cpu_stat2:intr 134160 cpu_stat:2:cpu_stat2:intrblk 0 cpu_stat:2:cpu_stat2:intrthread 131 cpu_stat:3:cpu_stat3:intr 196566 cpu_stat:3:cpu_stat3:intrblk 30 cpu_stat:3:cpu_stat3:intrthread 59626
kstat
    Commandexample$ kstat -p :::state ':::avenrun*' example$ kstat -p :::state :::/^avenrun/ cpu_info:0:cpu_info0:state on-line cpu_info:1:cpu_info1:state on-line cpu_info:2:cpu_info2:state on-line cpu_info:3:cpu_info3:state on-line unix:0:system_misc:avenrun_15min 4 unix:0:system_misc:avenrun_1min 10 unix:0:system_misc:avenrun_5min 3
kstat
    Commandexample$ kstat -p 'unix:0:system_misc:avenrun*' 1 3 unix:0:system_misc:avenrun_15min 15 unix:0:system_misc:avenrun_1min 11 unix:0:system_misc:avenrun_5min 21 unix:0:system_misc:avenrun_15min 15 unix:0:system_misc:avenrun_1min 11 unix:0:system_misc:avenrun_5min 21 unix:0:system_misc:avenrun_15min 15 unix:0:system_misc:avenrun_1min 11 unix:0:system_misc:avenrun_5min 21
kstat
    Commandexample$ kstat -p -T d 'unix:0:system_misc:avenrun*' 5 2 Thu Jul 22 19:39:50 1999 unix:0:system_misc:avenrun_15min 12 unix:0:system_misc:avenrun_1min 0 unix:0:system_misc:avenrun_5min 11 Thu Jul 22 19:39:55 1999 unix:0:system_misc:avenrun_15min 12 unix:0:system_misc:avenrun_1min 0 unix:0:system_misc:avenrun_5min 11
kstat
    Commandexample$ kstat -p -T u 'unix:0:system_misc:avenrun*' 932668656 unix:0:system_misc:avenrun_15min 14 unix:0:system_misc:avenrun_1min 5 unix:0:system_misc:avenrun_5min 18
date(1), sh(1), time(2), gmatch(3GEN), kstat(3KSTAT), kstat(4D), sd(4D), attributes(7), regex(7), kstat(9S)
If the pattern argument contains glob or RE metacharacters which are also shell metacharacters, it will be necessary to enclose the pattern with appropriate shell quotes.
| June 19, 2025 | OmniOS |