Question Comment puis-je mesurer le temps d'exécution d'un processus de 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 cela prend pour que le processus se termine). Existe-t-il une commande que je peux ajouter à la commande en appelant le processus qui y parviendra?


129
2017-07-17 12:26


origine




Réponses:


Ajouter time avant la commande que vous souhaitez mesurer.

La sortie ressemblera à:

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

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

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

159
2017-07-17 12:30



@ninjalj, pouvez-vous fournir plus d'informations sur ce que le real, user, et sys les temps sont que cette commande retourne? - Christopher Kyle Horton
@JacobVlijm Cette réponse n'est pas si complexe. :) Vous pouvez modifier dans votre commentaire et le rendre ainsi. - muru
Notez que vous pourriez avoir besoin sudo apt-get install time si vous utilisez un shell où time n'est pas un intégré. - poolie


Pour une mesure delta ligne par ligne, essayez gnomon.

C'est un utilitaire de ligne de commande, un peu comme les ts de moreutils, pour ajouter des informations d'horodatage à la sortie standard d'une autre commande. Utile pour les processus de longue durée où vous souhaitez un historique de ce qui prend autant de temps.

Passer quelque chose à gnomon ajoutera un horodatage à chaque ligne, indiquant combien de temps cette ligne était la dernière ligne du tampon, c'est-à-dire combien de temps la ligne suivante a paru. Par défaut, gnomon affichera les secondes écoulées entre chaque ligne, mais cela est configurable.

gnomon demo


32
2017-07-27 10:45



Ceci est assez lisse. - Nathan Arthur
(faute de frappe dans le lien, heureusement URL ok). Vous pouvez l'installer avec sudo npm i gnomon -g si tu as npm. Je ne suis pas sûr de savoir comment cela fonctionne contre les lignes de "progression" en utilisant "\ r" (rester sur la même ligne): dans ce cas, je voudrais tout compter comme une longue ligne, pas des lignes séparées. - Tomasz Gandor
donc on le dirige vers gnomon! c'est tout ? - Ciasto piekarz


Vous pouvez utiliser time:

time ls -R

22
2017-07-17 12:30





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


5
2017-08-11 05:20





De temps en temps, j'ai 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 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

Usage

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

4
2018-06-23 21:11