TIME(1)

NOM
time - Chronométrer ou évaluer les ressources employées par une commande simple

SYNOPSIS
time [options] commande [arguments...]

DESCRIPTION
La fonction time lance le programme représenté par la commande indiquée, avec les arguments fournis. Lorsque la commande se termine, time affiche un message sur la sortie d'erreur contenant des statistiques sur l'exécution du programme. Ces statistiques contiennent (i) le temps écoulé entre l'invocation et la fin de la commande, (ii) le temps CPU écoulé en mode utilisateur (la somme des valeurs tms_utime et tms_cutime de la structure struct tms fournie par l'appel système times(2)), et (iii) le temps CPU passé en mode système (la somme des champs tms_stime et tms_cstime de la struct tms fournie par l'appel système times(2)).

OPTIONS

-p  Dans la localisation POSIX, utiliser le format traditionnel

    "real %f\nuser %f\nsys %f\n"

    (avec des nombres exprimés en secondes) où le nombre de décimales dans le format %f n'est pas précisé, mais suffisant pour exprimer le top d'horloge précisément.

CODE DE RETOUR
Si la commande a été invoquée, le code de sortie est celui de la commande. Sinon, il s'agit de 127 si la commande n'a pas été trouvée, 126 si elle a été trouvée mais n'a pas pu être invoquée, et une autre valeur non nulle (1-125) si quelque chose d'autre a échoué.

ENVIRONNEMENT
Les variables LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, NLSPATH et PATH sont utilisées. La dernière sert à rechercher la commande. Les autres servent au formatage du texte et de la sortie.

VERSION GNU
Suit une description de la version GNU 1.7 de time. Contrairement au nom de cet utilitaire, GNU ajoute un grand nombre d'informations utiles, concernant non seulement le temps écoulé, mais également d'autres ressources, comme la mémoire, les entrées-sorties ou les communications IPC (si disponibles). La sortie est formatée en utilisant une chaîne qui peut être transmise avec l'option -f ou en utilisant la variable d'environnement TIME.

La chaîne de format par défaut est

%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Lorsque l'option -p est fournie, le format de sortie (portable)

real %e
user %U
sys %S

est utilisé.

  Chaîne de format
Le format est interprété comme d'habitude à la manière de printf(3). Les caractères ordinaires sont copiés directement, les tabulations sauts de lignes et baskslashes sont protégés par \t, \n et \\. Un signe pourcent est représenté par %%, sinon % indique une conversion. Le programme time ajoutera toujours un saut de ligne à la fin de la sortie. Les conversions se trouvent ci-dessous. Toutes celles utilisées par tcsh(1) sont disponibles.

Temps

%E  Temps réel écoulé (en [heures:]minutes:secondes).

%e  (pas avec tcsh.) Temps réel écoulé (en secondes).

%S  Nombre total de secondes-CPU passé par le processus en mode noyau.

%U  Nombre total de secondes-CPU passé par le processus en mode utilisateur.

%P  Pourcentage de CPU obtenu par cette tâche, calculé comme (%U + %S) / %E.

Mémoire

%M  Taille maximale du processus en mémoire physique durant son exécution, en kilo-octets.

%t  (pas avec tcsh) Taille moyenne du processus en mémoire physique durant son exécution, en kilo-octets.

%K  Mémoire moyenne (donnée + pile + code) utilisée par le processus, en kilo-octets.

%D  Taille moyenne des données non partagées du processus, en kilo-octets.

%p  (pas avec tcsh.) Taille moyenne de la pile non partagée du processus, en kilo-octets.

%X  Taille moyenne du code partagé du processus, en kilo-octets.

%Z  (pas avec tcsh.) Taille de page du système, en octets. Ceci est une constante sur un système, mais varie de système en système.

%F  Nombre de fautes de pages majeures durant l'exécution. Ce sont les fautes où des pages ont dû être rechargées depuis le disque.

%R  Nombre de fautes de pages mineures durant l'exécution. Ce sont les fautes où des pages ne sont plus valides, mais n'ont pas encore été réutilisées. Les données y sont encore présentes et seules les tables système doivent être mises à jour.

%W  Nombre de fois où le processus a été envoyé sur la mémoire de swap.

%c  Nombre de fois où le processus a été préempté involontairement (sa tranche de temps ayant expiré).

%w  Nombre de fois où le processus a été commuté volontairement, en passant en attente par exemple de la fin d'une entrée-sortie.

Entrées/Sorties

%I  Nombre de lecture depuis un fichier

%O  Nombre d'écriture dans un fichier

%r  Nombre de messages reçus par le processus sur une socket.

%s  Nombre de messages envoyés par le processus sur une socket.

%k  Nombre de signaux délivrés au processus.

%C  (pas avec tcsh.) Nom de la commande examinée avec ses arguments.

%x  (pas avec tcsh.) Code de retour de la commande.

  Options GNU

-f FORMAT, --format=FORMAT
    Préciser le format de sortie, en écrasant celui mentionné éventuellement dans la variable d'environnement TIME.

-p, --portability
    Utilise le format de sortie portable.

-o FICHIER, --output=FICHIER
    Ne pas envoyer les résultats sur la sortie d'erreur standard, mais écraser le fichier indiqué.

-a, --append
    En conjonction avec -o, ne pas écraser le fichier, mais ajouter les résultats à la fin.

-v, --verbose
    Afficher des informations concernant le programme.

  Options standard GNU

--help
    Afficher un message d'aide sur la sortie standard et se terminer normalement.

-V, --version
    Afficher un numéro de version sur la sortie standard et se terminer normalement.

--  Fin de la liste des options.

BOGUES
Toutes les ressources ne sont pas disponibles avec toutes les versions d'Unix, ainsi certaines valeurs peuvent être toujours à zéro. La sélection proposée a été essentiellement inspirée des données disponibles sur système BSD 4.2 ou 4.3.

La version 1.7 GNU de time ne supporte pas encore la localisation.

Le choix de la variable d'environnement TIME est une erreur. Il n'est pas rare que des systèmes comme autoconf(1) ou make(1) emploient une variable avec le nom d'un utilitaire pour remplacer l'invocation directe. L'utilisation de noms de variables comme MORE ou TIME au lieu des noms de programme conduit parfois à des problèmes.

Il est plutôt malheureux que -o écrase le fichier plutôt que d'y ajouter ses informations (le comportement de -a devrait être celui par défaut).

Envoyez vos rapports de bogues et suggestions pour la version GNU de time à
bug-utils@prep.ai.mit.edu
Indiquez bien la version de time, que vous employez, en invoquant
time --version
ainsi que le système d'exploitation et le compilateur C utilisés.

VOIR AUSSI
tcsh(1), times(2), wait3(2)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 30 mai 2001 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 1 time ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.