13 votes

Que fait la commande time sur le terminal Mac zsh? Et quelle est la sortie de "children"?

Ceci est ce que j'ai obtenu de la commande du terminal "time".

shell  0.32s utilisateur 0.08s système 0% cpu 6:09.64 total
enfants  0.10s utilisateur 0.16s système 0% cpu 6:09.64 total

Qu'est-ce que les enfants?

21voto

Marlon Richert Points 755

Le time que vous utilisez dans votre question n'est pas une commande, mais plutôt un mot réservé dans zsh. Il peut être utilisé de deux manières différentes et sa sortie peut être personnalisée à travers le paramètre $TIMEFMT. Il existe également une commande externe time sur macOS, qui produit une sortie légèrement différente.

Juste time

Si vous utilisez time seul (comme indiqué dans votre question), alors votre shell actuel affichera des statistiques de temps pour lui-même et ses enfants :

  • shell représente le shell dans lequel vous avez exécuté votre déclaration time. children est un résumé de tous les processus en cours lancés à partir (et toujours possédés par) ce shell.
  • user et system montrent la quantité de secondes CPU que les processus susmentionnés ont passées en mode utilisateur et mode noyau, respectivement.
  • cpu montre les valeurs combinées de user et system, en pourcentage du temps CPU total. total montre depuis combien de temps le shell ou son processus enfant le plus ancien a été lancé (ici en minutes:secondes.fraction).

time

Plus souvent, time est ajouté avant une commande. Si vous l'utilisez de cette manière, alors le shell affichera des statistiques de temps pour cette commande uniquement :

% time sleep 0
sleep 0  0.00s user 0.00s system 43% cpu 0.007 total
% 

total ici est le nombre de secondes qu'il a fallu pour que la commande se termine.

Personnaliser la sortie de time

La sortie de time peut être personnalisée en configurant le $TIMEFMT paramètre. Par exemple, nous pouvons ajouter l'utilisation de la mémoire :

% TIMEFMT+='  max RSS %M'
% time        
shell  0.22s user 0.10s system 53% cpu 0.601 total  max RSS 6120
children  0.11s user 0.16s system 45% cpu 0.601 total  max RSS 3056
% time sleep 0
sleep 0  0.00s user 0.00s system 61% cpu 0.003 total  max RSS 580
% 

Commande externe time

La commande externe time peut être utilisée comme suit :

% command time
% command time sleep 0 
        0.00 real         0.00 user         0.00 sys
% command time -p sleep 0 
real         0.00
user         0.00
sys          0.00
% command time -l sleep 0  # Ajouter l'utilisation de mémoire
        0.00 real         0.00 user         0.00 sys
              585728  maximum resident set size
                   0  average shared memory size
                   0  average unshared data size
                   0  average unshared stack size
                 160  page reclaims
                   0  page faults
                   0  swaps
                   0  block input operations
                   0  block output operations
                   0  messages sent
                   0  messages received
                   0  signals received
                   0  voluntary context switches
                   1  involuntary context switches
             2198249  instructions retired
             3195521  cycles elapsed
              237568  peak memory footprint
%

real ici est la même que total, ci-dessus.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X