KSTAT(1M) Maintenance Commands KSTAT(1M)


NAME


kstat - display kernel statistics

SYNOPSIS


kstat [-Cjlpq] [-T u | d ] [-c class] [-m module]
[-i instance] [-n name] [-s statistic]
[interval [count]]


kstat [-Cjlpq] [-T u | d ] [-c class]
[module[:instance[:name[:statistic]]]]...
[interval [count]]


DESCRIPTION


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(7D) 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.

OPTIONS


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
Displays output in parseable format with a colon as
separator.


-c class
Displays only kstats that match the specified class.
class is a kernel-defined string which classifies the
"type" of the kstat.


-i instance
Displays only kstats that match the specified instance.


-j
Displays output in JSON format.


-l
Lists matching kstat names without displaying values.


-m module
Displays only kstats that match the specified module.


-n name
Displays only kstats that match the specified name.


-p
Displays output in parseable format. 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
Displays no output, but return appropriate exit status
for matches against given criteria.


-s statistic
Displays only kstats that match the specified statistic.


-T d | u
Displays a time stamp before each statistics block,
either in date(1) format (d) or as an alphanumeric
representation of the value returned by time(2) (u).


OPERANDS


The following operands are supported:

module:instance:name:statistic
Alternate method of specifying module, instance, name, and statistic
as described above. Each of the module, instance, name, or statistic
specifiers may be a shell glob pattern or a regular expression
enclosed by '/' characters. It is possible to use both specifier
types within a single operand. Leaving a specifier empty is
equivalent to using the '*' glob pattern for that specifier.


interval
The number of seconds between reports.


count
The number of reports to be printed.


EXAMPLES


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.

Example 1: Using the kstat Command



example$ 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


Example 2: Using the kstat Command



example$ 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


Example 3: Using the kstat Command



example$ 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


Example 4: Using the kstat Command



example$ 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


Example 5: Using the kstat Command



example$ 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


Example 6: Using the kstat Command



example$ 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


EXIT STATUS


The following exit values are returned:

0
One or more statistics were matched.


1
No statistics were matched.


2
Invalid command line options were specified.


3
A fatal error occurred.


FILES


/dev/kstat
kernel statistics driver


SEE ALSO


date(1), sh(1), time(2), gmatch(3GEN), kstat(3KSTAT), attributes(5),
regex(5), kstat(7D), sd(7D), kstat(9S)

NOTES


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.


January 9, 2013 KSTAT(1M)