Sync usage with man page.
[netbsd-mini2440.git] / external / bsd / top / dist / top.1.in
blobd9350f49ddb94e0a974f246f727db8e0def17817
1 .\" NOTE:  changes to the manual page for "top" should be made in the
2 .\"        file "top.1.in" and NOT in the file "top.1".
3 .nr N @DEFAULT_TOPN@
4 .nr D @DEFAULT_DELAY@
5 .nr L @HAVE_GETOPT_LONG@
6 .nr K @ENABLE_KILL@
7 .TH TOP 1 Local
8 .UC 4
9 .SH NAME
10 top \- display and update information about the top cpu processes
11 .SH SYNOPSIS
12 .B top
14 .B \-1CISTabcinqtuv
15 ] [
16 .BI \-d count
17 ] [
18 .BI \-m mode
19 ] [
20 .BI \-o field
21 ] [
22 .BI \-p pid
23 ] [
24 .BI \-s time
25 ] [
26 .BI \-U username
27 ] [
28 .I number
30 .SH DESCRIPTION
31 .\" This defines appropriate quote strings for nroff and troff
32 .ds lq \&"
33 .ds rq \&"
34 .if t .ds lq ``
35 .if t .ds rq ''
36 .\" Just in case these number registers aren't set yet...
37 .if \nN==0 .nr N 10
38 .if \nD==0 .nr D 5
39 .I Top
40 displays the top
41 .if !\nN==-1 \nN
42 processes on the system and periodically updates this information.
43 .if \nN==-1 \
44 \{\
45 If standard output is an intelligent terminal (see below) then
46 as many processes as will fit on the terminal screen are displayed
47 by default.  Otherwise, a good number of them are shown (around 20).
48 .\}
49 Raw cpu percentage is used to rank the processes.  If
50 .I number
51 is given, then the top
52 .I number
53 processes will be displayed instead of the default.
54 .PP
55 .I Top
56 makes a distinction between terminals that support advanced capabilities
57 and those that do not.  This
58 distinction affects the choice of defaults for certain options.  In the
59 remainder of this document, an \*(lqintelligent\*(rq terminal is one that
60 supports cursor addressing, clear screen, and clear to end of line.
61 Conversely, a \*(lqdumb\*(rq terminal is one that does not support such
62 features.  If the output of
63 .I top
64 is redirected to a file, it acts as if it were being run on a dumb
65 terminal.
66 .SH OPTIONS
67 .if \nL==0 Long options are not available on this system.
68 .TP
69 .B "\-1, \-\-percpustates"
70 Display per-cpu states on a multi-processor machine.
71 .TP
72 .B "\-C, \-\-color"
73 Turn off the use of color in the display.
74 .TP
75 .B "\-I, \-\-idle-procs"
76 Do not display idle processes.
77 By default, top displays both active and idle processes.
78 .TP
79 .B "\-S, \-\-system-procs"
80 Show system processes in the display.  Normally, system processes such as
81 the pager and the swapper are not shown.  This option makes them visible.
82 .TP
83 .B "\-T, \-\-tag-names"
84 List all available color tags and the current set of tests used for
85 color highlighting, then exit.
86 .TP
87 .B "\-a, \-\-all"
88 Show all processes for as long as possible.  This is shorthand for
89 \*(lq-d all all\*(rq.  This option is especially handy in batch mode.
90 .TP
91 .B "\-b, \-n, \-\-batch"
92 Use \*(lqbatch\*(rq mode.  In this mode, all input from the terminal is
93 ignored.  Interrupt characters (such as ^C and ^\e) still have an effect.
94 This is the default on a dumb terminal, or when the output is not a terminal.
95 .TP
96 .B "\-c, \-\-full-commands"
97 Show the full command line for each process. Default is to show just the
98 command name.  This option is not supported on all platforms.
99 .TP
100 .B "\-i, \-\-interactive"
101 Use \*(lqinteractive\*(rq mode.  In this mode, any input is immediately
102 read for processing.  See the section on \*(lqInteractive Mode\*(rq
103 for an explanation of
104 which keys perform what functions.  After the command is processed, the
105 screen will immediately be updated, even if the command was not
106 understood.  This mode is the default when standard output is an
107 intelligent terminal.
109 .B "\-q, \-\-quick"
110 Renice
111 .I top
112 to -20 so that it will run faster.  This can be used when the system is
113 being very sluggish to improve the possibility of discovering the problem.
114 This option can only be used by root.
116 .B "\-t, \-\-threads"
117 Show individual threads on separate lines.  By default, on systems
118 which support threading, each process is shown with a count of the number
119 of threads. This option shows each thread on a separate line.  This option
120 is not supported on all platforms.
122 .B "\-u, \-\-uids"
123 Do not take the time to map uid numbers to usernames.  Normally,
124 .I top
125 will read as much of the file \*(lq/etc/passwd\*(rq as is necessary to map
126 all the user id numbers it encounters into login names.  This option
127 disables all that, while possibly decreasing execution time.  The uid
128 numbers are displayed instead of the names.
130 .B "\-v, \-\-version"
131 Write version number information to stderr then exit immediately.
132 No other processing takes place when this option is used.  To see current
133 revision information while top is running, use the help command \*(lq?\*(rq.
135 .B "\-d \fIcount\fP, \-\-displays \fIcount\fP"
136 Show only
137 .I count
138 displays, then exit.  A display is considered to be one update of the
139 screen.  This option allows the user to select the number of displays he
140 wants to see before
141 .I top
142 automatically exits.  Any proper prefix of the words \*(lqinfinity\*(rq,
143 \*(lqmaximum\*(rq,
145 \*(lqall\*(rq can be used to indicate an infinite number of displays.
146 The default for intelligent terminals is infinity.
147 The default for dumb terminals is 1.
149 .B "\-m \fImode\fP, \-\-mode=\fImode\fP"
150 Start the display in an alternate mode.  Some platforms support multiple
151 process displays to show additional process information.  The value
152 \fImode\fP is a number indicating which mode to display.  The default is
153 0.  On platforms that do not have multiple display modes this option has
154 no effect.
156 .B "\-o \fIfield\fP, \-\-sort-order=\fIfield\fP"
157 Sort the process display area on the specified field.  The field name is
158 the name of the column as seen in the output, but in lower case.  Likely
159 values are \*(lqcpu\*(rq, \*(lqsize\*(rq, \*(lqres\*(rq, and \*(lqtime\*(rq,
160 but may vary on different operating systems.  Note that
161 not all operating systems support this option.
163 .B "\-p \fIpid\fP, \-\-pid=\fIpid\fP"
164 Only display the specified pid.
166 .B "\-s \fItime\fP, \-\-delay=\fItime\fP"
167 Set the delay between screen updates to
168 .I time
169 seconds.  The default delay between updates is \nD seconds.
171 .B "\-U \fIusername\fP, \-\-user=\fIusername\fP"
172 Show only those processes owned by
173 .IR username .
174 This option currently only accepts usernames and will not understand
175 uid numbers.
177 Both
178 .I count
180 .I number
181 fields can be specified as \*(lqinfinite\*(rq, indicating that they can
182 stretch as far as possible.  This is accomplished by using any proper
183 prefix of the keywords
184 \*(lqinfinity\*(rq,
185 \*(lqmaximum\*(rq,
187 \*(lqall\*(rq.
188 The default for
189 .I count
190 on an intelligent terminal is, in fact,
191 \fBinfinity\fP.
193 The environment variable
194 .B TOP
195 is examined for options before the command line is scanned.  This enables
196 a user to set his or her own defaults.  The number of processes to display
197 can also be specified in the environment variable
198 .BR TOP .
199 The options
200 .BR \-C ,
201 .BR \-I ,
202 .BR \-S ,
204 .B \-u
205 are actually toggles.  A second specification of any of these options
206 will negate the first.  Thus a user who has the environment variable
207 .B TOP
208 set to \*(lq\-I\*(rq may use the command \*(lqtop \-I\*(rq to see idle processes.
209 .SH "INTERACTIVE MODE"
210 When
211 .I top
212 is running in \*(lqinteractive mode\*(rq, it reads commands from the
213 terminal and acts upon them accordingly.  In this mode, the terminal is
214 put in \*(lqCBREAK\*(rq, so that a character will be
215 processed as soon as it is typed.  Almost always, a key will be
216 pressed when
217 .I top
218 is between displays; that is, while it is waiting for
219 .I time
220 seconds to elapse.  If this is the case, the command will be
221 processed and the display will be updated immediately thereafter
222 (reflecting any changes that the command may have specified).  This
223 happens even if the command was incorrect.  If a key is pressed while 
224 .I top
225 is in the middle of updating the display, it will finish the update and
226 then process the command.  Some commands require additional information,
227 and the user will be prompted accordingly.  While typing this information
228 in, the user's erase and kill keys (as set up by the command
229 .IR stty )
230 are recognized, and a newline terminates the input.  Note that a control-L
231 (^L) always redraws the current screen and a space forces an immediate
232 update to the screen using new data.
234 These commands are currently recognized:
236 .I "\fBh\fP\ or\ \fB?\fP"
237 Display a summary of the commands (help screen).  Version information
238 is included in this display.
240 .B C
241 Toggle the use of color in the display.
243 .B c
244 Display only processes whose commands match the specified string.  An empty
245 string will display all processes.  This command is not supported on all 
246 platforms.
248 .B d
249 Change the number of displays to show (prompt for new number).
250 Remember that the next display counts as one, so typing
251 .B d1
252 will make
253 .I top
254 show one final display and then immediately exit.
256 .B f
257 Toggle the display of the full command line.
259 .B H
260 Toggle the display of threads on separate lines.  By default, on systems
261 which support threading, each process is shown with a count of the number
262 of threads. This command shows each thread on a separate line.  This command
263 is not supported on all platforms.
265 .B i
267 .BR I )
268 Toggle the display of idle processes.
269 .if \nK==1 \{\
271 .B k
272 Send a signal (\*(lqkill\*(rq by default) to a list of processes.  This
273 acts similarly to the command
274 .IR kill (1)).
277 .B M
278 Sort display by memory usage.  Shorthand for \*(lqo size\*(rq.
280 .B m
281 Change to a different process display mode.  Some systems provide multiple
282 display modes for the process display which shows different information.
283 This command toggles between the available modes.  This command is not 
284 supported on all platforms.
286 .B N
287 Sort by process id.  Shorthand for \*(lqo pid\*(rq.
289 .B n or #
290 Change the number of processes to display (prompt for new number).
292 .B o
293 Change the order in which the display is sorted.  This command is not
294 available on all systems.  The sort key names vary fron system to system
295 but usually include:  \*(lqcpu\*(rq, \*(lqres\*(rq, \*(lqsize\*(rq,
296 \*(lqtime\*(rq.  The default is cpu.
298 .B P
299 Sort by CPU usage.  Shorthand for \*(lqo cpu\*(rq.
301 .B q
302 Quit
303 .IR top.
304 .if \nK==1 \{\
306 .B r
307 Change the priority (the \*(lqnice\*(rq) of a list of processes.
308 This acts similarly to the command
309 .IR renice (8)).
312 .B s
313 Change the number of seconds to delay between displays
314 (prompt for new number).
316 .B T
317 Sort by CPU time.  Shorthand for \*(lqo time\*(rq.
319 .B U
320 Toggle between displaying usernames and uids.
322 .B u
323 Display only processes owned by a specific username (prompt for username).
324 If the username specified is simply \*(lq+\*(rq, then processes belonging
325 to all users will be displayed.
326 .SH "THE DISPLAY"
327 The actual display varies depending on the specific variant of Unix
328 that the machine is running.  This description may not exactly match
329 what is seen by top running on this particular machine.  Differences
330 are listed at the end of this manual entry.
332 The top lines of the display show general information
333 about the state of the system.  The first line shows
334 (on some systems) the last process id assigned to a process,
335 the three load averages,
336 the system uptime, and the current time.
337 The second line displays the total number of processes followed
338 by a breakdown of processes per state.  Examples of states common
339 to Unix systems are sleeping, running, starting, stopped, and zombie.
340 The next line displays a percentage of time spent in each of the
341 processor states (typically user, nice, system, idle, and iowait).
342 These percentages show the processor activity during the time since
343 the last update.  For multi-processor systems, this information is 
344 a summation of time across all processors.  The next line shows
345 kernel-related activity (not available on all systems).  The numbers
346 shown on this line are per-second rates sampled since the last update.
347 The exact
348 information displayed varies between systems, but some examples are:
349 context switches, interrupts, traps, forks, and page faults.  The last
350 one or two lines show a summary of memory and swap activity.  These lines
351 vary between systems.
353 The remainder of the screen displays information about individual
354 processes.  This display is similar in spirit to
355 .IR ps (1)
356 but it is not exactly the same.  The columns displayed by top will
357 differ slightly between operating systems.  Generally, the following
358 fields are displayed:
360 .B PID
361 The process id.
363 .B USERNAME
364 Username of the process's owner (if
365 .B \-u
366 is specified, a UID column will be substituted for USERNAME).
368 .B THR
369 The number of threads in the processes (this column may also
370 be labeled NLWP).
372 .B PRI
373 Current priority of the process.
375 .B NICE
376 Nice amount in the range \-20 to 20, as established by the use of
377 the command
378 .IR nice .
380 .B SIZE
381 Total size of the process (text, data, and stack) given in kilobytes.
383 .B RES
384 Resident memory: current amount of process memory that resides in physical
385 memory, given in kilobytes.
387 .B STATE
388 Current state (typically one of \*(lqsleep\*(rq,
389 \*(lqrun\*(rq, \*(lqidl\*(rq, \*(lqzomb\*(rq, or \*(lqstop\*(rq).
391 .B TIME
392 Number of system and user cpu seconds that the process has used.
394 .B CPU
395 Percentage of available cpu time used by this process.
397 .B COMMAND
398 Name of the command that the process is currently running.
399 .SH COLOR
400 Top supports the use of ANSI color in its output. By default, color is
401 available but not used.  The environment variable
402 .B TOPCOLORS
403 specifies colors to use and conditions for which they should be used.
404 At the present time, only numbers in the summay display area can be 
405 colored. In a future version it will be possible to highlight numbers
406 in the process display area as well.  The environment variable is the
407 only way to specify color: there is no equivalent command line option.
408 Note that the environment variable
409 .B TOPCOLOURS
410 is also understood. The British spelling takes precedence.  The use of
411 color only works on terminals that understand and process ANSI color
412 escape sequences.
414 The environment variable is a sequence of color specifications, separated
415 by colons. Each specification takes the form tag=min,max#code where
416 .I tag
417 is the name of the value to check,
418 .I min
420 .I max
421 specify a range for the value, and
422 .I code
423 is an ANSI color code.  Multiple color codes can be listed and separated
424 with semi-colons.  A missing
425 .I min
426 implies the lowest possible value (usually 0)
427 and a missing
428 .I max
429 implies infinity. The comma must always be present. When specifying numbers
430 for load averages, they should be multiplied by 100.
431 For example, the specification
432 .B 1min=500,1000#31
433 indicates that a 1 minute load average between
434 5 and 10 should be displayed in red. Color attributes can be combined.
435 For example, the specification
436 .B 5min=1000,#37;41
437 indicates that a 5 minute load average higher than 10 should be displayed
438 with white characters on a red background. A special tag named
439 .I header
440 is used to control the color of the header for process display.  It should
441 be specified with no lower and upper limits, specifically
442 .B header=,#
443 followed by the ANSI color code.
445 You can see a list of color codes recognized by this installation of top
446 with the
447 .B \-T
448 option.  This will also show the current set of tests used for
449 color highligting, as specified in the environment.
450 .SH AUTHOR
451 William LeFebvre
452 .SH ENVIRONMENT
454 TOP             user-configurable defaults for options.
455 TOPCOLORS       color specification
456 .SH BUGS
457 As with
458 .IR ps (1),
459 things can change while
460 .I top
461 is collecting information for an update.  The picture it gives is only a
462 close approximation to reality.
463 .SH "SEE ALSO"
464 kill(1),
465 ps(1),
466 stty(1),
467 mem(4),
468 renice(8)
469 @MAN_SUPPLEMENT@
470 .SH COPYRIGHT
471 Copyright (C) 1984-2007 William LeFebvre. For additional licensing
472 information, see http://www.unixtop.org/license/