time(1) General Commands Manual time(1)

time - Zeitmessung eines einfachen Befehls oder Ressourcenverbrauch angeben

ÜBERSICHT

time [Option…] Befehl [Argument …]

Der Befehl time führt das angegebene Programm Befehl mit den angegebenen Optionen aus. Wenn sich Befehl beendet, schreibt time Statistiken über die Programmausführung in die Standardfehlerausgabe. Diese Statistiken bestehen aus (i) der abgelaufenen echten Zeit (»real«) zwischen dem Aufruf und der Beendigung, (ii) der Benutzer-CPU-Zeit (»user«, die Summe der Werte tms_utime und tms_cutime einer von times(2) zurückgelieferten Struktur struct tms) und (iii) der System-CPU-Zeit (»sys«, die Summe der Werte tms_stime and tms_cstime einer von times(2) zurückgelieferten Struktur struct tms).

Bachten Sie: Einige Shells (z.B. bash(1)) haben einen eingebauten Befehl time, der ähnliche Informationen über die Zeitverwendung und möglicherweise andere Ressourcen bereitstellt. Um den echten Befehl zu erreichen, könnte es notwendig sein, dass Sie den vollständigen Pfad angeben (etwas der Art /usr/bin/time).

In der POSIX-Locale wird das präzise tranditionelle Format

"real %f\nuser %f\nsys %f\n"

verwandt (mit den Zahlen in Sekunden), wobei die Anzahl der Dezimalziffern in der Ausgabe für %f nicht festgelegt aber ausreichend ist, um die Uhrzählergenauigkeit wiederzugeben (und mindestens eine Ziffer enthält).

Falls Befehl aufgerufen wurde, ist der Exit-Status der des Befehls. Andernfalls ist er 127, falls Befehl nicht gefunden werden konnte und 126, falls er gefunden, aber nicht aufgerufen werden konnte und ein anderer, von Null verschiedener Wert (1…125), falls irgendetwas anderes schief lief.

Die Variablen LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC und NLSPATH werden für den Text und die Formatierung der Ausgabe verwandt. PATH wird zum Suchen nach Befehl verwandt.

Es folgt eine Beschreibung der GNU 1.7-Version von time. Unabhängig vom Namen des Hilfswerkzeugs sorgt GNU für eine Menge nützliche Information in seiner Ausgabe, nicht nur über die verwandte Zeit, sondern auch über andere Ressourcen wie Speicher, E/A und IPC-Aufrufe (wo verfügbar). Die Ausgabe wird mit einer Formatzeichenkette formatiert, die mit der Option -f oder über die Umgebungsvariable TIME angegeben werden kann.

Die Standardformatzeichenkette lautet:


%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Wird die Option -p angegeben, dann wird das (portable) Augabeformat verwandt:


real %e
user %U
sys %S

Das Format wird in der normalen, printf(3)-artigen Weise interpretiert. Normale Zeichen werden direkt kopiert, Tabulator, Zeilenumbruch und Rückwärtsschrägstrich werden mittels \t, \n und \\ maskiert, ein Prozentzeichen wird durch %% dargestellt und andernfalls zeigt % eine Umwandlung an. Das Programm time wird immer selbst einen abschließenden Zeilenumbruch hinzufügen. Die Umwandlungen folgen. Alle von tcsh(1) verwandten werden unterstützt.

Zeit

%E
Abgelaufende echte Zeit (in [Stunden:]Minuten:Sekunden).
%e
(Nicht in tcsh(1).) Abgelaufene echte Zeit (in Sekunden).
%S
Gesamtanzahl an CPU-Sekunden, die der Prozess im Kernelmodus verbrachte.
%U
Gesamtanzahl an CPU-Sekunden, die der Prozess im Anwendungsmodus verbrachte.
%P
Prozentanteil der CPU, die diesen Auftrag erledigte, berechnet als (%U + %S) / %E.

Speicher

%M
Maximale Größe des resident Set des Prozesses während seiner Lebensdauer in kB.
%t
(Nicht in tcsh(1).) Durchschnittliche Größe des resident Set des Prozesses in kB.
%K
Durchschnittliche Gesamtspeicherverwendung (Daten+Stapel+Text) des Programms in kB.
%D
Durchschnittliche Größe des nicht gemeinsam verwandten Datenbereichs des Prozesses in kB.
%p
(Nicht in tcsh(1).) Durchschnittliche Größe des nicht gemeinsam verwandten Stapelbereichs in kB.
%X
Durchschnittliche Größe des gemeinsam verwandten Textbereichs des Prozesses in kB.
%Z
(Nicht in tcsh(1).) Systemseitengröße in Byte. Dies ist eine systembezogene Konstante, sie unterscheidet sich aber zwischen Systemen.
%F
Anzahl der großen Seitenausnahmebehandlungen während der Ausführung des Prozesses. Dies sind Ausnahmebehandlungen, bei der die Seite von Platte eingelesen werden muss.
%R
Anzahl der kleinen (oder wiederherstellbaren) Seitenausnahmebehandlungen. Dies sind Ausnahmebehandlungen für Seiten, die nicht gültig sind, aber noch nicht von anderen virtuellen Seiten beansprucht wurden. Daher sind die Daten in den Seiten noch gültig, aber die Systemtabellen müssen aktualisiert werden.
%W
Anzahl der Auslagerungen des Prozesses aus dem Hauptspeicher.
%c
Anzahl der unfreiwilligen Kontext-Umschaltungen des Prozesses (da sein Zeitschlitz ablief).
%w
Wie häufig gewartet wurde: Zeiten, die das Programm freiwillig eine Kontext-Umschaltung erlebte, da es beispielsweise auf den Abschluss einer E/A-Aktion wartete.

E/A

%I
Anzahl der Dateisystemeingaben an den Prozess.
%O
Anzahl der Dateisystemausgaben des Prozesses.
%r
Anzahl der vom Prozess empfangenen Socket-Meldungen.
%s
Anzahl der vom Prozess gesandten Socket-Meldungen.
%k
Anzahl der an den Prozess ausgelieferten Signale.
%C
(Nicht in tcsh(1).) Name und Befehlszeilenargumente des gemessenen Programms.
%x
(Nicht in tcsh(1).) Exit-Status des Befehls.

Gibt das Ausgabeformat an, setzt dabei möglicherweise das in der Umgebungsvariable TIME festgelegte Format außer Kraft.
Verwendet das portable Ausgabeformat.
Sendet die Ergebnisse nicht an stderr, sondern überschreibt die angegebene Datei.
(Zusammen mit -o verwandt) Nicht überschreiben, sondern anhängen.
Sehr ausführliche Ausgabe von allem, was das Programm kennt.
Ungewöhnliche Programmbeendigung (bei denen Befehl durch ein Signal beendet wurde) oder einen von Null verschiedenen Exit-Status nicht melden.

Gibt eine Meldung zur Programmbenutzung auf der Standardausgabe aus und beendet sich erfolgreich.
schreibt die Versionsnummer in die Standardausgabe und beendet das Programm erfolgreich.
--
Beendet die Optionsliste.

Nicht alle Ressourcen werden von verschiedenen UNIX-Versionen gemessen, daher könnten einige der Werte als Null gemeldet werden. Die derzeitige Auswahl wurde von den durch 4.2 oder 4.3BSD bereitgestellten Daten inspiriert.

GNU time Version 1.7 ist noch nicht lokalisiert. Daher implementiert es die POSIX-Anforderungen nicht.

Die Umgebungsvariable TIME wurde schlecht ausgewählt. Es ist für Systeme wie autoconf(1) oder make(1) nicht ungewöhnlich, Umgebungsvariablen mit dem Namen des Hilfswerkzeugs zu verwenden, um das zu verwendende Hilfsprogramm außer Kraft zu setzen. Die Verwendung von z.B. MORE und TIME für Programmoptionen (anstelle von Programmpfadnamen) neigt dazu, Schwierigkeiten zu erzeugen.

Es erscheint unglücklich, dass -o überschreibt, anstelle anzuhängen. (Das heißt, die Option -a sollte die Vorgabe sein.)

Schreiben Sie Empfehlungen und Fehlerberichte (auf englisch) für GNU time an bug-time@gnu.org. Bitte fügen Sie die Version von time an. Die Version erhalten Sie durch die Ausführung von


time --version

ermitteln können sowie das verwandte Betriebssystem und den verwandten C-Compiler.

bash(1), tcsh(1), times(2), wait3(2)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

31. Oktober 2023 Linux man-pages 6.06