TIME(1) | General Commands Manual | TIME(1)

# NAME

`time` —
time command execution

# SYNOPSIS

`time` | [`-clp`] [`-f` fmt] command [argument ...]

# DESCRIPTION

The `time` utility executes and times command. After the command finishes, `time` writes the total elapsed time (wall clock time), (“real”), the CPU time spent executing command at user level (“user”), and the CPU time spent executing in the operating system kernel (“sys”), to the standard error stream. Times are reported in seconds.

Available options:

`-c`
  Displays information in the format used by default the `time` builtin of csh(1) uses (%Uu %Ss %E %P %X+%Dk %I+%Oio %Fpf+%Ww).
`-f`
  Specify a time format using the csh(1) `time` builtin syntax. The following sequences may be used in the format string:

  %U
    The time the process spent in user mode in cpu seconds.
  %S
    The time the process spent in kernel mode in cpu seconds.
  %E
    The elapsed (wall clock) time in seconds.
  %P
    The CPU percentage computed as (%U + %S) / %E.
  %W
    Number of times the process was swapped.
  %X
    The average amount in (shared) text space used in Kbytes.
  %D
    The average amount in (unshared) data/stack space used in Kbytes.
  %K
    The total space used (%X + %D) in Kbytes.
  %M
    The maximum memory the process had in use at any time in Kbytes.
  %F
    The number of major page faults (page needed to be brought from disk).
  %R
    The number of minor page faults.
  %I
    The number of input operations.
  %O
    The number of output operations.
  %r
    The number of socket messages received.
  %s
    The number of socket messages sent.
  %k
    The number of signals received.
  %w
    The number of voluntary context switches (waits).
  %c
    The number of involuntary context switches.
`-l`
  Lists resource utilization information. The contents of the command process's rusage structure are printed; see below.
`-p`
  The output is formatted as specified by IEEE Std 1003.2-1992 (“POSIX.2”).
`-t`
  Displays information in the format used by default the `time` builtin of tcsh(1) uses (%Uu %Ss %E %P\t%X+%Dk %I+%Oio %Fpf+%Ww) with three decimal places for time values.

Some shells, such as csh(1) and ksh(1), have their own and syntactically different built-in version of `time`. The utility described here is available as /usr/bin/time to users of these shells.

## Resource Utilization

If the `-l` option is given, the following resource usage information is displayed in addition to the timing information:

- maximum resident set size
- average shared memory size
- average unshared data size
- average unshared stack size
- page reclaims
- page faults
- swaps
- block input operations
- block output operations
- messages sent
- messages received
- signals received
- voluntary context switches
- involuntary context switches

Resource usage is the total for the execution of command and any child processes it spawns, as per wait4(2).

# FILES

⟨sys/resource.h⟩

# EXIT STATUS

The `time` utility exits with one of the following values:

1-125
  An error occurred in the `time` utility.
126
  The command was found but could not be invoked.
127
  The command could not be found.

Otherwise, the exit status of `time` will be that of command.

# SEE ALSO

csh(1), ksh(1), clock_gettime(2), getrusage(2), wait4(2)

# STANDARDS

The `time` utility conforms to IEEE Std 1003.2-1992 (“POSIX.2”).

# BUGS

The granularity of seconds on microprocessors is crude and can result in times being reported for CPU usage which are too large by a second.

April 23, 2020 | NetBSD 9.4