Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / usr.sbin / pstat / pstat.8
blob7f11dc09f2dbb947a1fcbc74f8f978cded4bc5bd
1 .\"     $NetBSD: pstat.8,v 1.38 2009/10/14 22:59:11 joerg Exp $
2 .\"
3 .\" Copyright (c) 1980, 1991, 1993, 1994
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     from: @(#)pstat.8       8.5 (Berkeley) 5/13/94
31 .\"
32 .Dd December 5, 2009
33 .Dt PSTAT 8
34 .Os
35 .Sh NAME
36 .Nm pstat
37 .Nd display system data structures
38 .Sh SYNOPSIS
39 .Nm
40 .Oo
41 .Fl T | Fl f | Fl s |
42 .Fl t | Fl v
43 .Oc
44 .Op Fl ghkmn
45 .Op Fl M Ar core
46 .Op Fl N Ar system
47 .Sh DESCRIPTION
48 .Nm
49 displays open file entry, swap space utilization,
50 terminal state, and vnode data structures.
52 .Ar corefile
53 is given, the information is sought there, otherwise
55 .Pa /dev/kmem .
56 The required namelist is taken from
57 .Pa /netbsd
58 unless
59 .Ar system
60 is specified.
61 .Pp
62 The following options are available:
63 .Bl -tag -width Ds
64 .It Fl T
65 Prints the number of used and free slots for open files, used vnodes, and swap
66 space.
67 This option is useful for checking to see how large system tables
68 become if the system is under heavy load.
69 .It Fl f
70 Print the open file table with these headings:
71 .Bl -tag -width indent
72 .It LOC
73 The core location of this table entry.
74 .It TYPE
75 The type of object the file table entry points to.
76 .It FLG
77 Miscellaneous state variables encoded thus:
78 .Pp
79 .Bl -tag -width indent -compact
80 .It R
81 open for reading
82 .It W
83 open for writing
84 .It A
85 open for appending
86 .It S
87 shared lock present
88 .It X
89 exclusive lock present
90 .It I
91 signal pgrp when data ready
92 .El
93 .It CNT
94 Number of processes that know this open file.
95 .It MSG
96 Number of messages outstanding for this file.
97 .It DATA
98 The location of the vnode table entry or socket structure for this file.
99 .It USE
100 Number of active users of this open file.
101 .It IFLG
102 Value of internal flags.
103 .It OFFSET
104 The file offset (see
105 .Xr lseek 2 ) .
107 .It Fl g
109 .Fl g
110 option uses (1024 * 1024 * 1024) byte blocks instead of the default 512 byte.
111 .It Fl h
113 .Xr humanize_number 3
114 to display (swap) sizes.
115 .It Fl k
116 Use 1K-byte blocks.
117 .It Fl m
119 .Fl m
120 option uses (1024 * 1024) byte blocks instead of the default 512 byte.
121 .It Fl n
122 Print devices by major/minor number rather than by name.
123 .It Fl s
124 Print information about swap space usage on all the
125 swap areas compiled into the kernel.
126 The first column is the device name of the partition.
127 The next column is the total space available in the partition.
129 .Ar Used
130 column indicates the total blocks used so far;  the
131 .Ar Available
132 column indicates how much space is remaining on each partition.
134 .Ar Capacity
135 reports the percentage of space used.
137 If more than one partition is configured into the system, totals for all
138 of the statistics will be reported in the final line of the report.
139 .It Fl t
140 Print table for terminals
141 with these headings:
142 .Bl -tag -width indent
143 .It LINE
144 Physical device name.
145 .It RAW
146 Number of characters in raw input queue.
147 .It CAN
148 Number of characters in canonicalized input queue.
149 .It OUT
150 Number of characters in output queue.
151 .It HWT
152 High water mark for output.
153 .It LWT
154 Low water mark for output.
155 .It COL
156 Calculated column position of terminal.
157 .It STATE
158 Miscellaneous state variables encoded thus:
160 .Bl -tag -width indent -compact
161 .It T
162 delay timeout in progress
163 .\" .It W
164 .\" waiting for open to complete
165 .It O
166 open
167 .It F
168 outq has been flushed during DMA
169 .It C
170 carrier is on
171 .It B
172 busy doing output
173 .It A
174 process is awaiting output
175 .It X
176 open for exclusive use
177 .It S
178 output stopped
179 .It K
180 further input blocked
181 .It Y
182 tty in async I/O mode
183 .It D
184 state for lowercase
185 .Ql \e
186 work
187 .It E
188 within a
189 .Ql \e.../
190 for PRTRUB
191 .It L
192 next character is literal
193 .It P
194 retyping suspended input
195 .Pq PENDIN
196 .It N
197 counting tab width, ignore FLUSHO
198 .It \&\*[Gt]
199 tty used for dialout
201 .It SESS
202 Session for which this is controlling terminal.
203 .It PGID
204 Current foreground process group associated with this terminal.
205 .It DISC
206 Line discipline;
207 .Ql term
209 TTYDISC (see
210 .Xr termios 4 ) ,
211 .Ql tab
212 for TABLDISC (see
213 .Xr tb 4 ) ,
214 .Ql slip
215 for SLIPDISC (see
216 .Xr sl 4 ) ,
217 .Ql ppp
218 for PPPDISC (see
219 .Xr ppp 4 ) ,
220 .Ql strip
221 for STRIPDISC (see
222 .Xr strip 4 ) ,
223 .Ql hdlc
224 for HDLCDISC.
226 .It Fl v
227 Print the active vnodes.
228 Each group of vnodes corresponding to a particular filesystem is preceded
229 by a two line header.
230 The first line consists of the following:
232 .No *** MOUNT Em fstype from Li on Em on fsflags
234 where
235 .Em fstype
236 is one of
237 .Em adosfs , afs , cd9660 , fdesc ,
238 .Em ffs , ext2fs , kernfs , lfs , lofs ,
239 .Em mfs , msdos , nfs , null ,
240 .Em procfs , umap , union ;
241 .Em from
242 is the filesystem mounted from;
243 .Em on
244 is the directory
245 the filesystem is mounted on; and
246 .Em fsflags
247 is a list
248 of optional flags applied to the mount (see
249 .Xr mount 8 ) .
250 The second line is a header for the individual fields,
251 the first part of which are fixed, and the second part are filesystem
252 type specific.
253 The headers common to all vnodes are:
254 .Bl -tag -width indent
255 .It ADDR
256 Location of this vnode.
257 .It TYP
258 File type.
259 .It VFLAG
260 A list of letters representing vnode flags:
262 .Bl -tag -width indent -compact
263 .It R
264 VROOT root of its file system.
265 .It T
266 VTEXT pure text prototype.
267 .It S
268 VSYSTEM vnode being used by kernel.
269 .It I
270 VISTTY vnode is a tty.
271 .It E
272 VEXECMAP vnode has PROT_EXEC mappings.
273 .It L
274 VXLOCK locked to change underlying type.
275 .It W
276 VXWANT process is waiting for vnode.
277 .It B
278 VBWAIT waiting for output to complete.
279 .It A
280 VALIASED vnode has an alias.
281 .It D
282 VDIROP lfs vnode involved in directory op.
283 .It Y
284 VLAYER vnode is on layer filesystem.
285 .It O
286 VONWORKLST vnode is on syncer work-list.
289 .It USE
290 The number of references to this vnode.
291 .It HOLD
292 The number of I/O buffers held by this vnode.
293 .It TAG
294 The type of underlying data.
295 .It NPAGE
296 The number of pages in this vnode.
297 .It FILEID
298 The vnode fileid.
299 In the case of
300 .Em ffs
302 .Em ext2fs
303 this is the inode number.
304 .It IFLAG
305 Miscellaneous filesystem specific state variables encoded thus:
306 .Bl -tag -width indent
307 .It "For ffs, lfs or ext2fs:"
308 .Bl -tag -width indent -compact
309 .It A
310 access time must be corrected
311 .It C
312 changed time must be corrected
313 .It U
314 update time
315 .Pq Xr fs 5
316 must be corrected
317 .It M
318 contains modifications
319 .It a
320 has been accessed
321 .It R
322 has a rename in progress
323 .It S
324 shared lock applied
325 .It E
326 exclusive lock applied
327 .It c
328 is being cleaned (LFS)
329 .It D
330 directory operation in progress (LFS)
331 .It s
332 blocks to be freed in free count
334 .It "For nfs:"
335 .Bl -tag -width indent -compact
336 .It W
337 waiting for I/O buffer flush to complete
338 .It P
339 I/O buffers being flushed
340 .It M
341 locally modified data exists
342 .It E
343 an earlier write failed
344 .It A
345 special file accessed
346 .It U
347 special file updated
348 .It C
349 special file times changed
352 .It SIZ/RDEV
353 Number of bytes in an ordinary file, or
354 major and minor device of special file.
357 .Sh ENVIRONMENT
358 .Bl -tag -width BLOCKSIZE
359 .It Ev BLOCKSIZE
360 If the environment variable
361 .Ev BLOCKSIZE
362 is set, and the
363 .Fl k
364 option is not specified, the block counts will be displayed in units of that
365 size block.
367 .Sh FILES
368 .Bl -tag -width /dev/kmemxxx -compact
369 .It Pa /netbsd
370 namelist
371 .It Pa /dev/kmem
372 default source of tables
374 .Sh SEE ALSO
375 .Xr ps 1 ,
376 .Xr systat 1 ,
377 .Xr vmstat 1 ,
378 .Xr stat 2 ,
379 .Xr fs 5 ,
380 .Xr iostat 8
382 .%T Tn UNIX Implementation
383 .%A K. Thompson
385 .Sh HISTORY
388 command appeared in
389 .Bx 4.0 .
390 .Sh BUGS
391 Swap statistics are reported for all swap partitions compiled into the kernel,
392 regardless of whether those partitions are being used.
394 Does not understand NFS swap servers.