NOMBRE

time - temporiza la ejecución de una orden e informa del uso del sistema

SINOPSIS

time
[ -apqvV ] [ -f FORMATO ] [ -o ARCHIVO ]
 
[ --append ] [ --verbose ] [ --quiet ] [ --portability ]
 
[ --format=FORMATO ] [ --output=ARCHIVO ] [ --version ]
 
[ --help ] ORDEN [ ARGS ]

DESCRIPCIÓN

time ejecuta una orden con cualquier opción ARGS que se le añada. Una vez que ORDEN termina, time nos muestra (por defecto a través de la salida de error estándar) el informe de los recursos empleados por esta ORDEN. en caso de que finalice son un estado de salida diferente a cero, time mostrará un aviso y el código de ese estado de salida.
 
time utliza la cadena FORMATO para decidir qué información mostrar acerca de la ejecución de ORDEN. Si no se especifica ningún formato junto a la orden, se usará el valor de la variable de entorno TIME y si no está definida, time usará el formato por defecto.
 
Las opciones de la orden time tienen que indicarse antes de ORDEN ya que todo lo que vaya después se entiende como opciones de ésta última orden.
 

OPCIONES

-o ARCHIVO, --output=ARCHIVO
Escribe la salida en ARCHIVO en lugar de hacerlo en la salida de error estándar sobreescribiendo el fichero si existiese. Esta opción es útil pasa utilizar en programas interactivos y en aquellos que envían datos a la salida de error estándar.
-a, --append
Añade la salida al archivo en lugar de sobreescribirlo. Esta opción solo se puede usar conjuntamente con `-o' o con `--input'.
-f FORMATO, --format FORMATO
Utiliza FORMATO para definir el formato en que se muestra la salida de time. Más adelante se explica en detalle.
--help
Imprime un resumen las las opciones existentes y termina.
-p, --portability
Utiliza el siguiente formato para adecuarse al estándar POSIX 1003.2:
real %e
user %U
sys %S
-v, --verbose
Utiliza su propio formato prolijo que muestra cada uno de los datos disponibles acerca del uso de recursos del programa en su propia línea. Se añade una descripción en inglés sobre su significado.
--quiet
No muestra el estado de salida del programa aunque sea distinto de cero.
-V, --version
Muestra la versión de time y termina.

FORMATO DE SALIDA

La cadena FORMATO define el contenido de la salida de TIME Este formato se puede definir mediante las opciones `-f' o `--format', `-v' o `--verbose', o bien `-p' o `--portability'. Si no se da ninguna de estas opciones pero sí se define la variable de entorno time se usará su valor. Por defecto, el formato es el siguiente:
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
 
 
La cadena de formato suele estar formada por `especificadores de recursos' intercalados entre el resto de la cadena. El símbolo de porcentaje (`%') en la cadena hará que el siguiente carácter sea interpretado como uno de esos especificadores de recursos. Esto es muy parecido al formato de la función printf.
 
Una barra invertida (`\') hará que se interprete el caracter siguiente imprimiéndose un único carácter. Así, `\t' imprime una tabulación, `\n' imprime un salto de línea y `\\' imprimirá una barra invertida. Si ponemos cualquier otro caracter a continuación de la barra invertida, saldrá un interrogante (`?') seguido de una barra invertida para indicarnos que insertamos una secuencia de escape inválida.
 
Cualquier otra cadena de texto se enviará directamente a la salida. time siempre imprime un salto de línea seguidamente a la información que nos da por lo que las cadenas de formato no suelen terminar con un salto de línea (`\n').
 
Existen varios especificadores de recursos y no todos están disponibles en todas las versiones de Unix por lo algunos de sus valores estarán están siempre a cero. Cualquier carácter que pongamos a continuación del símbolo de porcentaje y que no aparezca en la tabla a continuación se traducirá en un interrogante (`?') al imprimir el resultado para indicar que se introdujo un especificador de recursos no válido.
 
Los especificadores de recursos, conjunto superior de aquellos reconocidos por la orden `time' propia de tcsh son lo siguientes:
%
Símbolo literal `%'.
C
Nombre y argumentos en línea de órdenes de la orden temporizada.
D
Tamaño aproximado del área de datos no compartida del proceso, en Kilobytes.
E
Tiempo real total empleado por el proceso (medido en [horas:]minutos:segundos).
F
Número de faltas de página principales o de solicitudes de I/O que ocurrieron mientras el proceso se ejecutaba. Estas son faltas en las que la página debe ser leída desde disco.
I
Número de entradas al sistema de archivos por el proceso.
K
Uso de memoria total aproximado (datos+pila+texto) del proceso, en Kilobytes.
M
Conjunto máximo residente del proceso durante su tiempo de vida, en Kilobytes.
O
Número de salidas al sistema de archivos por el proceso.
P
Porcentaje de CPU empleado para finalizar la tarea. Es el resultado de la suma de usuario y sistema dividido entre el tiempo total de ejecución. También imprime el símbolo de porcentaje.
R
Número de faltas de página menores o recuperables. Estas son faltas inválidas pero que no han sido reclamadas aún por otras páginas virtuales. De este modo, los datos en la página son todavía válidos, pero las tablas de sistema deben actualizarse.
S
Número total de segundos de CPU que el proceso consumió en modo de núcleo.
U
Número total de segundos de CPU que el proceso consumió en modo de usuario.
W
Número de veces que el proceso fue intercambiado hacia afuera de la memoria principal.
X
Tamaño aproximado del espacio de texto compartido del proceso, en KBytes.
Z
Tamaño de página del sistema, en KBytes. Esto es una constante del sistema, pero varía entre un sistema y otro.
c
Número de veces que el proceso fue intercambiado de contexto involuntariamente (porque finalizase la porción de tiempo).
e
Tiempo total empleado por el proceso en segundos.
k
Número de señales entregadas al proceso.
p
Tamaño medio de memoria no compartida del proceso en kilobytes.
r
Número de mensajes de conexión recibidos por el proceso.
s
Número de mensajes de conexión enviados por el proceso.
t
Tamaño aproximado del conjunto residente del proceso, en Kilobytes.
w
Número de veces que el programa fue intercambiado de contexto voluntariamente, por ejemplo, mientras se espera a que se complete una operación de E/S.
x
Estado de salida de la orden.
 

EJEMPLOS

Para ejecutar la orden 'wc /etc/hosts' y ver la información por defecto:
time wc /etc/hosts
 
Temporización de la orden `ls -Fs' mostrando solo el usuario, el sistema y la totalización time:
time -f "\t%E real,\t%U user,\t%S sys" ls -Fs
 
Para editar el archivo BORK y que `time' añade el tiempo transcurrido y el código de las señales al archivo `log' tomando el formato de la variable de entorno `TIME':
export TIME="\t%E,\t%k" # Si usa la shell bash o ksh
setenv TIME "\t%E,\t%k" # Si usa csh or tcsh
time -a -o log emacs bork
 
Los usuarios de la shell bash necesitan indicar expresamente la ruta para ejecutar la orden externa time sino se ejecutará la que viene incluida en la propia shell. En los sistemas donde esté instalado en /usr/bin, el primer ejemplo sería
/usr/bin/time wc /etc/hosts
 

EXACTITUD

El tiempo transcurrido no se recoge de forma separada para la ejecución del programa por lo que, aunque improbable, puede ocurrir que se registre un tiempo mucho mayor que el real. Esto se daría si time se detiene o se reinicia en el transcurso de la temporización.
 
Cuano el tiempo de ejecución de una orden es casi nulo, algunos valores como el porcentaje de CPU empleado puede salir a cero o con un interrogante.
 
La mayor parte de la información dada por time proviene de la llamada del sistema wait3(2), por lo que ésta será tan exacta como lo sea wait3(2). En lo sistemas que no tengan esa llamada wait3(2), se usará en su lugar time(2) aunque aporte muchos menos datos y se pueden ver la mayoría de ellos a cero.
 
Los valores `%I' y `%O' supuestamente correponden únicamente a entrada/salida `real' sin incluir los de los dispositivos de almacenamiento de caché. El significado de I/O `real' puede resultar confuso sobretodo en el caso de aquellas sin disco.
 

DIAGNÓSTICOS

La orden time nos da información cuando el programa sale, termina por si solo o porque recibe alguna señal. Si el programa termina normalmente, time nos dará la salida del programa que analizó. Si no es así, nos dará un valor de salida de 128 más el número de señal que provocó la finalización del programa.

AUTOR

time fue escrito por David MacKenzie. Esta página de manual fue añadida por Dirk Eddelbuettel <[email protected]> para su uso en Debian GNU/Linux pero puede ser usada por otras distribuciones.
 

VÉASE TAMBIÉN

tcsh(1), printf(3)

TRADUCCIÓN

La traducción al español de esta página del manual fue creada por Jorge Rodriguez (A.K.A. Tiriel) <[email protected]> y Marcos Fouces <[email protected]>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a [email protected]

Recommended readings

Pages related to time you should read also: