Zeit (Unix)

Zeit
Time-example-command.gif
Beispiel von Zeit Befehl
Entwickler (en) Verschiedene Open Source und kommerziell Entwickler
Betriebssystem Unix, Unix-artig, Inferno
Plattform Plattformübergreifend
Typ Befehl

Im Computer, Zeit ist ein Befehl in Unix und Unix-artig Betriebssysteme. Es wird verwendet, um die Dauer der Ausführung eines bestimmten zu bestimmen Befehl.

Überblick

Zeit (1) kann als eigenständiges Programm existieren (wie z. GNU Zeit) oder als Hülse in den meisten Fällen gebaut (z. B. in Sch, verprügeln, TCSH oder in ZSH).

Benutzerzeit gegen Systemzeit

Die gesamte CPU -Zeit ist die Kombination der Zeit, die die CPU oder die CPUs für die Durchführung von Maßnahmen für ein Programm und die Zeit, die sie für die Ausführung verbracht haben Systemaufrufe für die Kernel im Namen des Programms. Wenn ein Programm durch ein Array schaltet, sammelt es die CPU -Zeit der Benutzer an. Umgekehrt, wenn ein Programm a ausführt Systemanruf wie zum Beispiel Geschäftsführer oder GabelEs sammelt die CPU -Zeit des Systems an.

Echtzeit gegen CPU -Zeit

Der Begriff "Echtzeit" in diesem Zusammenhang bezieht sich auf verstrichene Wandverkaufszeit, wie eine Stoppuhr. Die Gesamt -CPU -Zeit (Benutzerzeit + Systemzeit) kann mehr oder weniger als dieser Wert betragen. Da ein Programm einige Zeit damit verbringt, überhaupt nicht auszuführen (ob im Benutzermodus oder im Systemmodus), kann die Echtzeit größer sein als die gesamte CPU -Zeit. Weil ein Programm Kinder geben kann, deren CPU -Zeiten (sowohl Benutzer als auch SYS) zu den von den gemeldeten Werten hinzugefügt werden Zeit Befehl, aber auf einem Multicore -System werden diese Aufgaben parallel ausgeführt, die Gesamt -CPU -Zeit kann größer sein als die Echtzeit.

Verwendungszweck

Um den Befehl zu verwenden, gehen Sie einfach einem Befehl des Wortes vor Zeit, wie zum Beispiel:

$ Zeit ls

Wenn der Befehl abgeschlossen ist, Zeit wird berichten, wie lange es gedauert hat, um die auszuführen ls Befehl in Bezug auf den Benutzer CPU -Zeit, System CPU -Zeit und Echtzeit. Das Ausgabeformat variiert zwischen verschiedenen Versionen des Befehls, und einige geben zusätzliche Statistiken an, wie in diesem Beispiel:

$ Zeit Gastgeber Wikipedia.orgwikipedia.org hat die Adresse 103.102.166.224 Wikipedia.org Mail wird mit 50 MX2001.Wikimedia.org behandelt. Wikipedia.org Mail wird von 10 mx1001.Wikimedia.org behandelt. Host Wikipedia.org 0.04s Benutzer 0,02S System 7% CPU 0,780 Gesamt $ 

Zeit (Entweder ein eigenständiges Programm oder wenn Bash Shell im POSIX -Modus ausgeführt wird und Zeit wird aufgerufen als Zeit -p) Berichte über die Standardfehlerausgabe.

Zeit -p

Portable Skripte sollten verwendet werden Zeit -p Modus, der ein anderes Ausgabeformat verwendet, aber mit verschiedenen Implementierungen übereinstimmt:

$ Zeit -p Sha256Sum /bin /ls12477DEB0E25209768CBD79328F943A7EA8533ECE70256CDEA96FAE0AE34D1CC /BIN /LS Echt 0,00 Benutzer 0,00 sys 0,00 $ 

Implementierungen

GNU -Zeit

Aktuelle Versionen der GNU -Zeit, melden Sie sich standardmäßig mehr als nur eine Zeit:

$ /usr/bin/time sha256sum/bin/ls12477DEB0E25209768CBD79328F943A7EA8533ECE70256CDEA96FAE0AE34D1CC /BIN /LS 0,00User 0,00System 0: 00,00LAPSED 100%CPU (0AVGTEXT+0AVGDATA 2156MAXRESIDENT) K. 0Inputs+0outputs (0MAJOR+96MINOR) PageFaults 0Swaps $ 

Format der Ausgabe für GNU Zeit, kann mit Verwendung eingestellt werden ZEIT Umgebungsvariable und kann andere Informationen als die Ausführungszeit (d. H. Speicherverbrauch) enthalten. Dieses Verhalten ist im Allgemeinen nicht verfügbar Posix-Compliant -Zeit oder bei Ausführung als Zeit -p.

Dokumentation davon Zeit kann normalerweise mit Verwendung von mit dem zugegriffen werden Mann 1 Mal.

Betriebsmethode

Gemäß dem Quellcode der GNU -Implementierung von Zeit, die meisten Informationen von Zeit wird aus dem abgeleitet warte3 Systemanruf. Auf Systemen, die keine haben warte3 Rufen Sie die Statussinformationen zurück, die mal Der Systemaufruf wird stattdessen verwendet.

Verprügeln

In einer beliebten Unix -Shell Verprügeln, Zeit ist ein spezielles Schlüsselwort, das vor a eingestellt werden kann Pipeline (oder einzelner Befehl), der die Zeit der gesamten Pipeline misst, nicht nur einen einzigartigen (ersten) Befehl, und ein anderes Standardformat verwendet und vor den Berichtszeiten leere Zeile setzt:

$ Zeit seq 10000000 | WC -l10000000 Real 0m0.078s Benutzer 0m0.116s sys 0m0.029s $ 

Die gemeldete Zeit ist eine Zeit, die von beiden verwendet wird seq und WC -l aufaddiert. Das Format des Ausgangs kann mithilfe von Einstellungen eingestellt werden ZEITFORMAT Variable.

Das Zeit ist kein gebauter, sondern ein spezielles Schlüsselwort und kann nicht als Funktion oder Befehl behandelt werden. Es ignoriert auch die Umleitung von Pipeline (auch wenn es ausgeführt wird als Zeit -pEs sei denn, die gesamte Bash wird im "POSIX -Modus" ausgeführt).

Dokumentation davon Zeit kann mit mit dem zugegriffen werden Mann 1 Bash, oder innerhalb eines Bashs selbst verwenden Hilfszeit.

Siehe auch

Verweise