it-swarm.com.de

Wie kann ich die Ausführungszeit eines Terminalprozesses messen?

Ich versuche, die Ausführungszeit eines Prozesses zu messen, den ich über die Befehlszeile aufrufe (d. H. Ich möchte herausfinden, wie lange es dauert, bis der Prozess abgeschlossen ist). Gibt es einen Befehl, den ich zum Befehl hinzufügen kann, der den Prozess aufruft, der dies erreicht?

158
user848635

Fügen Sie time vor dem Befehl hinzu, den Sie messen möchten. Zum Beispiel: time ls.

Die Ausgabe sieht folgendermaßen aus:

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

Erklärung zu real, user und sys (von man time):

  • real: Verstrichene Realzeit (Wanduhr) in Sekunden, die vom Prozess verwendet wird.
  • user: Gesamtanzahl der CPU-Sekunden, die der Prozess direkt (im Benutzermodus) in Sekunden verwendet hat.
  • sys: Gesamtanzahl der vom System im Namen des Prozesses verwendeten CPU-Sekunden (im Kernel-Modus) in Sekunden.
195
ninjalj

Versuchen Sie für eine zeilenweise Delta-Messung gnomon .

Es ist ein Befehlszeilendienstprogramm, ähnlich wie moreutils 'ts, um der Standardausgabe eines anderen Befehls Zeitstempelinformationen voranzustellen. Nützlich für lang laufende Prozesse, bei denen Sie eine historische Aufzeichnung dessen wünschen, was so lange dauert.

Wenn Sie irgendetwas an gnomon weiterleiten, wird jeder Zeile ein Zeitstempel vorangestellt, der angibt, wie lange diese Zeile die letzte Zeile im Puffer war - das heißt, wie lange es gedauert hat, bis die nächste Zeile angezeigt wurde. Standardmäßig zeigt Gnomon die Sekunden an, die zwischen den einzelnen Zeilen vergangen sind, dies ist jedoch konfigurierbar.

gnomon demo

41
Janus Troelsen

Sie können time verwenden:

time ls -R
25
William Niu
date +"%T" && cp -r ./file  /destination/folder/here && date +"%T"

Wenn Sie diesen Befehl im Terminal ausführen, erhalten Sie die Gesamtzeit zum Kopieren einer Datei

8
user314473

Gelegentlich benötige ich eine Stoppuhr, um zu zählen, wie lange eine Aktion wie das Booten meiner App dauert. In diesem Fall sind viele der hier beschriebenen Lösungen nicht hilfreich.

Dafür verwende ich gerne sw .

sw

Installieren

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

Verwendungszweck

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
Cory Klein
time -v command

-v gibt weitere Informationen

0
Himanshu Mishra