219 votes

Comment puis-je mesurer le temps d'exécution d'un processus terminal ?

J'essaie de mesurer le temps d'exécution d'un processus que j'appelle via la ligne de commande (c'est-à-dire que je veux savoir combien de temps il faut pour que le processus se termine). Existe-t-il une commande que je peux ajouter à la commande appelant le processus pour y parvenir ?

266voto

ninjalj Points 2761

Ajouter time avant la commande que vous voulez mesurer. Par exemple : time ls .

Le résultat sera le suivant :

real    0m0.606s
user    0m0.000s
sys     0m0.002s

Explication sur real , user y sys (de man time ):

  • real : Temps réel écoulé (horloge murale) utilisé par le processus, en secondes.
  • user : Nombre total de CPU-secondes que le processus a utilisé directement (en mode utilisateur), en secondes.
  • sys : Nombre total de CPU-secondes utilisées par le système pour le compte du processus (en mode noyau), en secondes.

54voto

Janus Troelsen Points 2558

Pour une mesure de delta ligne par ligne, essayez gnomon .

Il s'agit d'un utilitaire de ligne de commande, un peu comme le ts de moreutils, pour ajouter des informations d'horodatage à la sortie standard d'une autre commande. Utile pour les processus qui s'exécutent depuis longtemps et pour lesquels vous souhaitez avoir un historique de ce qui prend tant de temps.

Si vous envoyez quelque chose à gnomon, un horodatage sera ajouté à chaque ligne, indiquant combien de temps cette ligne était la dernière dans le tampon, c'est-à-dire combien de temps il a fallu pour que la ligne suivante apparaisse. Par défaut, gnomon affiche les secondes écoulées entre chaque ligne, mais cela est configurable.

gnomon demo

30voto

William Niu Points 401

Vous pouvez utiliser time :

time ls -R

11voto

user314473 Points 111
date +"%T" && cp -r ./file  /destination/folder/here && date +"%T"

L'exécution de cette commande dans le terminal vous donnera le temps total pour copier un fichier

5voto

Boris Points 31

Il m'arrive parfois d'avoir besoin d'un chronomètre pour compter le temps nécessaire à une action comme le démarrage de mon application, auquel cas la plupart des solutions proposées ici ne sont pas utiles.

Pour cela, j'aime utiliser sw .

sw

Installer

wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw

Utilisation

sw
 - start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
 - start a stopwatch from the last saved start time (or current time if no last saved start time exists)
 - "-r" stands for --resume

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X