Print this page
3623 kstat must accept partial stat specification
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/man/man1m/kstat.1m
+++ new/usr/src/man/man1m/kstat.1m
1 1 '\" te
2 2 .\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
3 3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
4 4 .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
5 5 .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 6 .TH KSTAT 1M "Jan 9, 2013"
7 7 .SH NAME
8 8 kstat \- display kernel statistics
9 9 .SH SYNOPSIS
↓ open down ↓ |
9 lines elided |
↑ open up ↑ |
10 10 .LP
11 11 .nf
12 12 \fBkstat\fR [\fB-Cjlpq\fR] [\fB-T\fR u | d ] [\fB-c\fR \fIclass\fR] [\fB-m\fR \fImodule\fR]
13 13 [\fB-i\fR \fIinstance\fR] [\fB-n\fR \fIname\fR] [\fB-s\fR \fIstatistic\fR]
14 14 [interval [count]]
15 15 .fi
16 16
17 17 .LP
18 18 .nf
19 19 \fBkstat\fR [\fB-Cjlpq\fR] [\fB-T\fR u | d ] [\fB-c\fR \fIclass\fR]
20 - [\fImodule\fR:\fIinstance\fR:\fIname\fR:\fIstatistic\fR]...
20 + [\fImodule\fR[:\fIinstance\fR[:\fIname\fR[:\fIstatistic\fR]]]]...
21 21 [interval [count]]
22 22 .fi
23 23
24 24 .SH DESCRIPTION
25 25 .sp
26 26 .LP
27 27 The \fBkstat\fR utility examines the available kernel statistics, or kstats, on
28 28 the system and reports those statistics which match the criteria specified on
29 29 the command line. Each matching statistic is printed with its module, instance,
30 30 and name fields, as well as its actual value.
31 31 .sp
32 32 .LP
33 33 Kernel statistics may be published by various kernel subsystems, such as
34 34 drivers or loadable modules; each kstat has a module field that denotes its
35 35 publisher. Since each module might have countable entities (such as multiple
36 36 disks associated with the \fBsd\fR(7D) driver) for which it wishes to report
37 37 statistics, the kstat also has an instance field to index the statistics for
38 38 each entity; kstat instances are numbered starting from zero. Finally, the
39 39 kstat is given a name unique within its module.
40 40 .sp
41 41 .LP
42 42 Each kstat may be a special kstat type, an array of name-value pairs, or raw
43 43 data. In the name-value case, each reported value is given a label, which we
44 44 refer to as the statistic. Known raw and special kstats are given statistic
45 45 labels for each of their values by \fBkstat\fR; thus, all published values can
46 46 be referenced as \fImodule\fR:\fIinstance\fR:\fIname\fR:\fIstatistic\fR.
47 47 .sp
48 48 .LP
49 49 When invoked without any module operands or options, kstat will match all
50 50 defined statistics on the system. Example invocations are provided below. All
51 51 times are displayed as fractional seconds since system boot.
52 52 .SH OPTIONS
53 53 .sp
54 54 .LP
55 55 The tests specified by the following options are logically ANDed, and all
56 56 matching kstats will be selected. A regular expression containing shell
57 57 metacharacters must be protected from the shell by enclosing it with the
58 58 appropriate quotes.
59 59 .sp
60 60 .LP
61 61 The argument for the \fB-c\fR, \fB-i\fR, \fB-m\fR, \fB-n\fR, and \fB-s\fR
62 62 options may be specified as a shell glob pattern, or a regular expression
63 63 enclosed in '/' characters.
64 64 .sp
65 65 .ne 2
66 66 .na
67 67 \fB\fB-C\fR\fR
68 68 .ad
69 69 .RS 16n
70 70 Displays output in parseable format with a colon as separator.
71 71 .RE
72 72
73 73 .sp
74 74 .ne 2
75 75 .na
76 76 \fB\fB-c\fR \fIclass\fR\fR
77 77 .ad
78 78 .RS 16n
79 79 Displays only kstats that match the specified class. \fIclass\fR is a
80 80 kernel-defined string which classifies the "type" of the kstat.
81 81 .RE
82 82
83 83 .sp
84 84 .ne 2
85 85 .na
86 86 \fB\fB-i\fR \fIinstance\fR\fR
87 87 .ad
88 88 .RS 16n
89 89 Displays only kstats that match the specified instance.
90 90 .RE
91 91
92 92 .sp
93 93 .ne 2
94 94 .na
95 95 \fB\fB-j\fR\fR
96 96 .ad
97 97 .RS 16n
98 98 Displays output in JSON format.
99 99 .RE
100 100
101 101 .sp
102 102 .ne 2
103 103 .na
104 104 \fB\fB-l\fR\fR
105 105 .ad
106 106 .RS 16n
107 107 Lists matching kstat names without displaying values.
108 108 .RE
109 109
110 110 .sp
111 111 .ne 2
112 112 .na
113 113 \fB\fB-m\fR \fImodule\fR\fR
114 114 .ad
115 115 .RS 16n
116 116 Displays only kstats that match the specified module.
117 117 .RE
118 118
119 119 .sp
120 120 .ne 2
121 121 .na
122 122 \fB\fB-n\fR \fIname\fR\fR
123 123 .ad
124 124 .RS 16n
125 125 Displays only kstats that match the specified name.
126 126 .RE
127 127
128 128 .sp
129 129 .ne 2
130 130 .na
131 131 \fB\fB-p\fR\fR
132 132 .ad
133 133 .RS 16n
134 134 Displays output in parseable format. All example output in this document is
135 135 given in this format. If this option is not specified, \fBkstat\fR produces
136 136 output in a human-readable, table format.
137 137 .RE
138 138
139 139 .sp
140 140 .ne 2
141 141 .na
142 142 \fB\fB-q\fR\fR
143 143 .ad
144 144 .RS 16n
145 145 Displays no output, but return appropriate exit status for matches against
146 146 given criteria.
147 147 .RE
148 148
149 149 .sp
150 150 .ne 2
151 151 .na
152 152 \fB\fB-s\fR \fIstatistic\fR\fR
153 153 .ad
154 154 .RS 16n
155 155 Displays only kstats that match the specified statistic.
156 156 .RE
157 157
158 158 .sp
159 159 .ne 2
160 160 .na
161 161 \fB\fB-T\fR d | u\fR
162 162 .ad
163 163 .RS 16n
164 164 Displays a time stamp before each statistics block, either in \fBdate\fR(1)
165 165 format (\fBd\fR) or as an alphanumeric representation of the value returned by
166 166 \fBtime\fR(2) (\fBu\fR).
167 167 .RE
168 168
169 169 .SH OPERANDS
170 170 .sp
171 171 .LP
172 172 The following operands are supported:
173 173 .sp
174 174 .ne 2
175 175 .na
176 176 \fB\fImodule\fR:\fIinstance\fR:\fIname\fR:\fIstatistic\fR\fR
177 177 .ad
178 178 .sp .6
179 179 .RS 4n
180 180 Alternate method of specifying module, instance, name, and statistic as
181 181 described above. Each of the module, instance, name, or statistic specifiers
182 182 may be a shell glob pattern or a regular expression enclosed by '/'
183 183 characters. It is possible to use both specifier types within a single operand.
184 184 Leaving a specifier empty is equivalent to using the '*' glob pattern for that
185 185 specifier.
186 186 .RE
187 187
188 188 .sp
189 189 .ne 2
190 190 .na
191 191 \fB\fIinterval\fR\fR
192 192 .ad
193 193 .sp .6
194 194 .RS 4n
195 195 The number of seconds between reports.
196 196 .RE
197 197
198 198 .sp
199 199 .ne 2
200 200 .na
201 201 \fB\fIcount\fR\fR
202 202 .ad
203 203 .sp .6
204 204 .RS 4n
205 205 The number of reports to be printed.
206 206 .RE
207 207
208 208 .SH EXAMPLES
209 209 .sp
210 210 .LP
211 211 In the following examples, all the command lines in a block produce the same
212 212 output, as shown immediately below. The exact statistics and values will of
213 213 course vary from machine to machine.
214 214 .LP
215 215 \fBExample 1 \fRUsing the \fBkstat\fR Command
216 216 .sp
217 217 .in +2
218 218 .nf
219 219 example$ \fBkstat -p -m unix -i 0 -n system_misc -s 'avenrun*'\fR
220 220 example$ \fBkstat -p -s 'avenrun*'\fR
221 221 example$ \fBkstat -p 'unix:0:system_misc:avenrun*'\fR
222 222 example$ \fBkstat -p ':::avenrun*'\fR
223 223 example$ \fBkstat -p ':::/^avenrun_[0-9]+min$/'\fR
224 224
225 225 unix:0:system_misc:avenrun_15min 3
226 226 unix:0:system_misc:avenrun_1min 4
227 227 unix:0:system_misc:avenrun_5min 2
228 228 .fi
229 229 .in -2
230 230 .sp
231 231
232 232 .LP
233 233 \fBExample 2 \fRUsing the \fBkstat\fR Command
234 234 .sp
235 235 .in +2
236 236 .nf
237 237 example$ \fBkstat -p -m cpu_stat -s 'intr*'\fR
238 238 example$ \fBkstat -p cpu_stat:::/^intr/\fR
239 239
240 240 cpu_stat:0:cpu_stat0:intr 29682330
241 241 cpu_stat:0:cpu_stat0:intrblk 87
242 242 cpu_stat:0:cpu_stat0:intrthread 15054222
243 243 cpu_stat:1:cpu_stat1:intr 426073
244 244 cpu_stat:1:cpu_stat1:intrblk 51
245 245 cpu_stat:1:cpu_stat1:intrthread 289668
246 246 cpu_stat:2:cpu_stat2:intr 134160
247 247 cpu_stat:2:cpu_stat2:intrblk 0
248 248 cpu_stat:2:cpu_stat2:intrthread 131
249 249 cpu_stat:3:cpu_stat3:intr 196566
250 250 cpu_stat:3:cpu_stat3:intrblk 30
251 251 cpu_stat:3:cpu_stat3:intrthread 59626
252 252 .fi
253 253 .in -2
254 254 .sp
255 255
256 256 .LP
257 257 \fBExample 3 \fRUsing the \fBkstat\fR Command
258 258 .sp
259 259 .in +2
260 260 .nf
261 261 example$ \fBkstat -p :::state ':::avenrun*'\fR
262 262 example$ \fBkstat -p :::state :::/^avenrun/\fR
263 263
264 264 cpu_info:0:cpu_info0:state on-line
265 265 cpu_info:1:cpu_info1:state on-line
266 266 cpu_info:2:cpu_info2:state on-line
267 267 cpu_info:3:cpu_info3:state on-line
268 268 unix:0:system_misc:avenrun_15min 4
269 269 unix:0:system_misc:avenrun_1min 10
270 270 unix:0:system_misc:avenrun_5min 3
271 271 .fi
272 272 .in -2
273 273 .sp
274 274
275 275 .LP
276 276 \fBExample 4 \fRUsing the \fBkstat\fR Command
277 277 .sp
278 278 .in +2
279 279 .nf
280 280 example$ \fBkstat -p 'unix:0:system_misc:avenrun*' 1 3\fR
281 281 unix:0:system_misc:avenrun_15min 15
282 282 unix:0:system_misc:avenrun_1min 11
283 283 unix:0:system_misc:avenrun_5min 21
284 284
285 285 unix:0:system_misc:avenrun_15min 15
286 286 unix:0:system_misc:avenrun_1min 11
287 287 unix:0:system_misc:avenrun_5min 21
288 288
289 289 unix:0:system_misc:avenrun_15min 15
290 290 unix:0:system_misc:avenrun_1min 11
291 291 unix:0:system_misc:avenrun_5min 21
292 292 .fi
293 293 .in -2
294 294 .sp
295 295
296 296 .LP
297 297 \fBExample 5 \fRUsing the \fBkstat\fR Command
298 298 .sp
299 299 .in +2
300 300 .nf
301 301 example$ \fBkstat -p -T d 'unix:0:system_misc:avenrun*' 5 2\fR
302 302 Thu Jul 22 19:39:50 1999
303 303 unix:0:system_misc:avenrun_15min 12
304 304 unix:0:system_misc:avenrun_1min 0
305 305 unix:0:system_misc:avenrun_5min 11
306 306
307 307 Thu Jul 22 19:39:55 1999
308 308 unix:0:system_misc:avenrun_15min 12
309 309 unix:0:system_misc:avenrun_1min 0
310 310 unix:0:system_misc:avenrun_5min 11
311 311 .fi
312 312 .in -2
313 313 .sp
314 314
315 315 .LP
316 316 \fBExample 6 \fRUsing the \fBkstat\fR Command
317 317 .sp
318 318 .in +2
319 319 .nf
320 320 example$ \fBkstat -p -T u 'unix:0:system_misc:avenrun*'\fR
321 321 932668656
322 322 unix:0:system_misc:avenrun_15min 14
323 323 unix:0:system_misc:avenrun_1min 5
324 324 unix:0:system_misc:avenrun_5min 18
325 325 .fi
326 326 .in -2
327 327 .sp
328 328
329 329 .SH EXIT STATUS
330 330 .sp
331 331 .LP
332 332 The following exit values are returned:
333 333 .sp
334 334 .ne 2
335 335 .na
336 336 \fB\fB0\fR\fR
337 337 .ad
338 338 .RS 5n
339 339 One or more statistics were matched.
340 340 .RE
341 341
342 342 .sp
343 343 .ne 2
344 344 .na
345 345 \fB\fB1\fR\fR
346 346 .ad
347 347 .RS 5n
348 348 No statistics were matched.
349 349 .RE
350 350
351 351 .sp
352 352 .ne 2
353 353 .na
354 354 \fB\fB2\fR\fR
355 355 .ad
356 356 .RS 5n
357 357 Invalid command line options were specified.
358 358 .RE
359 359
360 360 .sp
361 361 .ne 2
362 362 .na
363 363 \fB\fB3\fR\fR
364 364 .ad
365 365 .RS 5n
366 366 A fatal error occurred.
367 367 .RE
368 368
369 369 .SH FILES
370 370 .sp
371 371 .ne 2
372 372 .na
373 373 \fB\fB/dev/kstat\fR\fR
374 374 .ad
375 375 .RS 14n
376 376 kernel statistics driver
377 377 .RE
378 378
379 379 .SH SEE ALSO
380 380 .sp
381 381 .LP
382 382 \fBdate\fR(1), \fBsh\fR(1), \fBtime\fR(2), \fBgmatch\fR(3GEN),
383 383 \fBkstat\fR(3KSTAT), \fBattributes\fR(5), \fBregex\fR(5), \fBkstat\fR(7D),
384 384 \fBsd\fR(7D), \fBkstat\fR(9S)
385 385 .SH NOTES
386 386 .sp
387 387 .LP
388 388 If the pattern argument contains glob or RE metacharacters which are also
389 389 shell metacharacters, it will be necessary to enclose the pattern with
390 390 appropriate shell quotes.
↓ open down ↓ |
360 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX