time(1) General Commands Manual time(1)

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

time [option ...] commande [arguments ...]

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)).

Note : certains interpréteurs (comme par exemple bash(1)) possèdent une commande time qui fournit des informations identiques sur l'utilisation du temps et peut-être d'autres ressources. Pour accéder à la commande réelle, il se peut que vous soyez obligé d'indiquer le chemin complet (quelque chose comme /usr/bin/time).

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.

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é.

Les variables LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC et NLSPATH sont utilisées pour le texte et la sortie. PATH sert à rechercher la commande.

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) est utilisé :


real %e
user %U
sys %S

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 barres obliques inversées (backslash) 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(1).) Temps réel écoulé (en secondes).
%S
Nombre total de secondes-CPU passées par le processus en mode noyau.
%U
Nombre total de secondes-CPU passées 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 kilooctets.
%t
(pas avec tcsh(1).) Taille moyenne du processus en mémoire physique durant son exécution, en kilooctets.
%K
Mémoire moyenne (donnée + pile + code) utilisée par le processus, en kilooctets.
%D
Taille moyenne des données non partagées du processus, en kilooctets.
%p
(pas avec tcsh(1).) Taille moyenne de la pile non partagée du processus, en kilooctets.
%X
Taille moyenne du code partagé du processus, en kilooctets.
%Z
(pas avec tcsh(1).) 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 lectures depuis un fichier
%O
Nombre d'écritures dans un fichier
%r
Nombre de messages reçus par le processus sur un socket.
%s
Nombre de messages envoyés par le processus sur un socket.
%k
Nombre de signaux délivrés au processus.
%C
(pas avec tcsh(1).) Nom de la commande examinée avec ses arguments.
%x
(pas avec tcsh(1).) Code de retour de la commande.

Préciser le format de sortie, en écrasant celui mentionné éventuellement dans la variable d'environnement TIME.
Utiliser le format de sortie portable.
Ne pas envoyer les résultats sur la sortie d'erreur standard, mais écraser le fichier indiqué.
En conjonction avec -o, ne pas écraser le fichier, mais ajouter les résultats à la fin.
Afficher des informations concernant le programme.
Ne pas signaler quand le programme se termine de manière anormale (quand commande se termine avec un signal) ou avec un code de retour autre que zéro.

Afficher un message d'aide sur la sortie standard et terminer normalement.
Afficher le numéro de version sur la sortie standard et terminer normalement.
--
Terminer la liste des options.

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 des systèmes 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 programmes 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 suggestions et vos rapports de bogues concernant GNU time à bug-time@gnu.org. Veuillez indiquer la version de time que vous pouvez connaître en invoquant


time --version

ainsi que le système d'exploitation et le compilateur C utilisés.

bash(1), tcsh(1), times(2), wait3(2)

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

31 octobre 2023 Pages du manuel de Linux 6.06