]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man1/time.1
prctl.2: Fix alphabetical misplacements in ERRORS
[thirdparty/man-pages.git] / man1 / time.1
CommitLineData
fea681da 1.\" Copyright Andries Brouwer, 2000
35a512d8
MK
2.\" Some fragments of text came from the time-1.7 info file.
3.\" Inspired by kromJx@crosswinds.net.
fea681da 4.\"
b55e2bb3 5.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
b18188c5 6.\" Distributed under GPL
b55e2bb3 7.\" %%%LICENSE_END
fea681da 8.\"
6d322d5f 9.TH TIME 1 2015-02-21 "" "Linux User's Manual"
fea681da
MK
10.SH NAME
11time \- time a simple command or give resource usage
12.SH SYNOPSIS
13.BI "time [" options "] " command " [" arguments... "] "
14.SH DESCRIPTION
15The
16.B time
17command runs the specified program
18.I command
19with the given arguments.
20When
21.I command
22finishes,
23.B time
e3535a43 24writes a message to standard error giving timing statistics
fea681da
MK
25about this program run.
26These statistics consist of (i) the elapsed real time
27between invocation and termination, (ii) the user CPU time
28(the sum of the
29.I tms_utime
30and
31.I tms_cutime
32values in a
33.I "struct tms"
34as returned by
35.BR times (2)),
36and (iii) the system CPU time (the sum of the
37.I tms_stime
38and
39.I tms_cstime
40values in a
41.I "struct tms"
42as returned by
43.BR times (2)).
e194cb7c 44
a113945f 45Note: some shells (e.g.,
e194cb7c
MK
46.BR bash (1))
47have a built-in
48.B time
bd286578
MK
49command that provides similar information on the usage of time and
50possibly other resources.
e194cb7c
MK
51To access the real command, you may need to specify its pathname
52(something like
53.IR /usr/bin/time ).
e8d07c73 54.SH OPTIONS
fea681da
MK
55.TP
56.B \-p
57When in the POSIX locale, use the precise traditional format
088a639b
MK
58.IP
59.in +4n
31a6818e 60"real %f\enuser %f\ensys %f\en"
088a639b
MK
61.in
62.IP
fea681da
MK
63(with numbers in seconds)
64where the number of decimals in the output for %f is unspecified
65but is sufficient to express the clock tick accuracy, and at least one.
47297adb 66.SH EXIT STATUS
fea681da
MK
67If
68.I command
69was invoked, the exit status is that of
70.IR command .
2b9b829d 71Otherwise, it is 127 if
fea681da
MK
72.I command
73could not be found, 126 if it could be found but could not be invoked,
c7094399 74and some other nonzero value (1-125) if something else went wrong.
f5b03186 75.SH ENVIRONMENT
682edefb
MK
76The variables
77.BR LANG ,
66ee0c7e 78.BR LC_ALL ,
682edefb
MK
79.BR LC_CTYPE ,
80.BR LC_MESSAGES ,
81.BR LC_NUMERIC ,
4df883b9 82.BR NLSPATH ,
682edefb
MK
83and
84.B PATH
85are used.
f5b03186
MK
86The last one to search for
87.IR command .
88The remaining ones for the text and formatting of the output.
47297adb 89.SH GNU VERSION
fea681da
MK
90Below a description of the GNU 1.7 version of
91.BR time .
92Disregarding the name of the utility, GNU makes it output lots of
93useful information, not only about time used, but also on other
94resources like memory, I/O and IPC calls (where available).
95The output is formatted using a format string that can be specified
80d26cef
MK
96using the
97.I \-f
98option or the
0daa9e92 99.B TIME
682edefb 100environment variable.
fea681da 101.LP
088a639b
MK
102The default format string is:
103.PP
104.in +4n
fea681da
MK
105%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
106.br
107%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
108.br
088a639b 109.in
fea681da 110.LP
80d26cef
MK
111When the
112.I \-p
113option is given the (portable) output format
088a639b
MK
114.PP
115.in +4n
fea681da
MK
116real %e
117.br
118user %U
119.br
120sys %S
121.br
088a639b
MK
122.in
123.PP
fea681da 124is used.
73d8cece 125.SS The format string
fea681da
MK
126The format is interpreted in the usual printf-like way.
127Ordinary characters are directly copied, tab, newline
31a6818e 128and backslash are escaped using \et, \en and \e\e,
fea681da 129a percent sign is represented by %%, and otherwise %
ca7b3c18
MK
130indicates a conversion.
131The program
fea681da
MK
132.B time
133will always add a trailing newline itself.
ca7b3c18
MK
134The conversions follow.
135All of those used by
fea681da
MK
136.BR tcsh (1)
137are supported.
138.LP
139.B "Time"
140.TP
141.B %E
142Elapsed real time (in [hours:]minutes:seconds).
143.TP
144.B %e
481daa31
MK
145(Not in
146.BR tcsh (1).)
147Elapsed real time (in seconds).
fea681da
MK
148.TP
149.B %S
150Total number of CPU-seconds that the process spent in kernel mode.
151.TP
152.B %U
153Total number of CPU-seconds that the process spent in user mode.
154.TP
155.B %P
156Percentage of the CPU that this job got, computed as (%U + %S) / %E.
157.LP
158.B "Memory"
159.TP
160.B %M
161Maximum resident set size of the process during its lifetime, in Kbytes.
162.TP
163.B %t
481daa31
MK
164(Not in
165.BR tcsh (1).)
166Average resident set size of the process, in Kbytes.
fea681da
MK
167.TP
168.B %K
169Average total (data+stack+text) memory use of the process,
170in Kbytes.
171.TP
172.B %D
173Average size of the process's unshared data area, in Kbytes.
174.TP
175.B %p
481daa31
MK
176(Not in
177.BR tcsh (1).)
178Average size of the process's unshared stack space, in Kbytes.
fea681da
MK
179.TP
180.B %X
181Average size of the process's shared text space, in Kbytes.
182.TP
183.B %Z
481daa31
MK
184(Not in
185.BR tcsh (1).)
186System's page size, in bytes.
fea681da
MK
187This is a per-system constant, but varies between systems.
188.TP
189.B %F
190Number of major page faults that occurred while the process was running.
191These are faults where the page has to be read in from disk.
192.TP
193.B %R
194Number of minor, or recoverable, page faults.
195These are faults for pages that are not valid but which have
20523df7
MK
196not yet been claimed by other virtual pages.
197Thus the data
fea681da
MK
198in the page is still valid but the system tables must be updated.
199.TP
200.B %W
201Number of times the process was swapped out of main memory.
202.TP
203.B %c
204Number of times the process was context-switched involuntarily
205(because the time slice expired).
206.TP
207.B %w
208Number of waits: times that the program was context-switched voluntarily,
209for instance while waiting for an I/O operation to complete.
210.LP
211.B "I/O"
212.TP
213.B %I
9ee4a2b6 214Number of filesystem inputs by the process.
fea681da
MK
215.TP
216.B %O
9ee4a2b6 217Number of filesystem outputs by the process.
fea681da
MK
218.TP
219.B %r
220Number of socket messages received by the process.
221.TP
222.B %s
223Number of socket messages sent by the process.
224.TP
225.B %k
226Number of signals delivered to the process.
227.TP
228.B %C
481daa31
MK
229(Not in
230.BR tcsh (1).)
231Name and command-line arguments of the command being timed.
fea681da
MK
232.TP
233.B %x
481daa31
MK
234(Not in
235.BR tcsh (1).)
236Exit status of the command.
73d8cece 237.SS GNU options
fea681da 238.TP
2bec57c6 239.BI "\-f " format ", \-\-format=" format
fea681da
MK
240Specify output format, possibly overriding the format specified
241in the environment variable TIME.
242.TP
243.B "\-p, \-\-portability"
244Use the portable output format.
245.TP
2bec57c6 246.BI "\-o " file ", \-\-output=" file
c6fa0841
MK
247Do not send the results to
248.IR stderr ,
249but overwrite the specified file.
fea681da
MK
250.TP
251.B "\-a, \-\-append"
252(Used together with \-o.) Do not overwrite but append.
253.TP
254.B "\-v, \-\-verbose"
255Give very verbose output about all the program knows about.
73d8cece 256.SS GNU standard options
fea681da
MK
257.TP
258.B "\-\-help"
259Print a usage message on standard output and exit successfully.
260.TP
261.B "\-V, \-\-version"
262Print version information on standard output, then exit successfully.
263.TP
264.B "\-\-"
265Terminate option list.
266.SH BUGS
008f1ecc 267Not all resources are measured by all versions of UNIX,
fea681da
MK
268so some of the values might be reported as zero.
269The present selection was mostly inspired by the data
270provided by 4.2 or 4.3BSD.
271.LP
272GNU time version 1.7 is not yet localized.
273Thus, it does not implement the POSIX requirements.
274.LP
682edefb 275The environment variable
0daa9e92 276.B TIME
682edefb
MK
277was badly chosen.
278It is not unusual for systems like
279.BR autoconf (1)
280or
281.BR make (1)
fea681da 282to use environment variables with the name of a utility to override
ca7b3c18
MK
283the utility to be used.
284Uses like MORE or TIME for options to programs
2d7195b8 285(instead of program pathnames) tend to lead to difficulties.
fea681da 286.LP
80d26cef
MK
287It seems unfortunate that
288.I \-o
289overwrites instead of appends.
290(That is, the
291.I \-a
292option should be the default.)
fea681da
MK
293.LP
294Mail suggestions and bug reports for GNU
295.B time
296to
297.br
4d9b6984 298.I bug\-utils@prep.ai.mit.edu
fea681da
MK
299.br
300Please include the version of
14ee3bff 301.BR time ,
fea681da
MK
302which you can get by running
303.br
4d9b6984 304.I time \-\-version
fea681da
MK
305.br
306and the operating system
307and C compiler you used.
b24f0008
MK
308.\" .SH AUTHORS
309.\" .TP
310.\" .IP "David Keppel"
311.\" Original version
312.\" .IP "David MacKenzie"
313.\" POSIXization, autoconfiscation, GNU getoptization,
314.\" documentation, other bug fixes and improvements.
315.\" .IP "Arne Henrik Juul"
316.\" Helped with portability
317.\" .IP "Francois Pinard"
318.\" Helped with portability
47297adb 319.SH SEE ALSO
bd286578 320.BR bash(1),
fea681da
MK
321.BR tcsh (1),
322.BR times (2),
323.BR wait3 (2)