KSTAT(8) Maintenance Commands and Procedures KSTAT(8)
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(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.
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 parsable 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 parsable 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),
kstat(4D),
sd(4D),
attributes(7),
regex(7),
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.
April 9, 2016 KSTAT(8)