Startseite > Paket- & Systemverwaltung > time

time: Messung der Ausführungszeit und der Ressourcennutzung von Befehlen

Der Befehl time misst die Zeit, die ein gegebener Befehl benötigt, und die vom System genutzten Ressourcen (CPU-Zeit, Speicher usw.), um einen zusammenfassenden Bericht auszugeben. Er ist nützlich für die Leistungsanalyse und Optimierung von Programmen.

Übersicht

Der Befehl time misst die Ausführungszeit eines bestimmten Programms oder Skripts und liefert detaillierte Statistiken zur Ressourcennutzung, wie z. B. Benutzer-CPU-Zeit, System-CPU-Zeit und tatsächliche Verarbeitungszeit. Dies hilft bei der Identifizierung von Leistungsengpässen in Anwendungen.

Wichtige Messmetriken

  • Echtzeit (Real time): Die tatsächliche verstrichene Zeit von Beginn bis Ende des Befehls.
  • Benutzer-CPU-Zeit (User CPU time): Die Zeit, die die CPU im Benutzermodus zur Ausführung des Befehls verwendet hat.
  • System-CPU-Zeit (System CPU time): Die Zeit, die die CPU im Kernelmodus zur Ausführung des Befehls verwendet hat.

Wichtige Optionen

Der Befehl time kann verschiedene Optionen verwenden, um das Ausgabeformat zu steuern oder zusätzliche Informationen anzufordern.

Ausgabeformat und Steuerung

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`time` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Grundlegende Verwendung

time ls

Misst die Ausführungszeit des ls-Befehls.

Ausgabe im POSIX-Format

time -p sleep 1

Gibt die Ausführungszeit des sleep-Befehls im POSIX-kompatiblen Format aus.

Speichern von Messergebnissen in einer Datei

time -o time_output.txt -a ls -l

Speichert die Messergebnisse des ls -l-Befehls in der Datei time_output.txt. Die Ausgabe von time erfolgt an stderr, daher wird 2> verwendet.

Ausgabe in einem benutzerdefinierten Format

time -f "Real: %e User: %U System: %S" sleep 1.5

Gibt die Echtzeit, Benutzer-CPU-Zeit und System-CPU-Zeit in einem bestimmten Format aus.

Tipps & Hinweise

Wichtige Punkte und zusätzliche Tipps bei der Verwendung des time-Befehls.

Integrierter time-Befehl der Shell und externer time-Befehl

Shells wie bash oder zsh verfügen über eigene integrierte time-Befehle. Diese geben normalerweise nur die drei Werte real, user und sys aus und sind in ihrer Funktionalität eingeschränkter als der externe time-Befehl (/usr/bin/time). Für detailliertere Informationen sollten Sie den externen time-Befehl explizit aufrufen.

Explizite Verwendung des externen time-Befehls

\time sleep 1
/usr/bin/time sleep 1

Um den externen time-Befehl anstelle des integrierten time-Befehls der Shell zu verwenden, fügen Sie einen Backslash (\time) hinzu oder geben Sie den vollständigen Pfad an.

Messgenauigkeit

  • Sehr kurze Befehle (im Millisekundenbereich) können größere Messfehler aufweisen.
  • Die Messergebnisse können je nach aktueller Systemauslastung variieren. Für genaue Messungen ist es ratsam, den Befehl mehrmals auszuführen und den Durchschnittswert zu ermitteln.

Ausgabe-Umleitung

Die Ausgabe des time-Befehls erfolgt an die Standardfehlerausgabe (stderr). Um die Messergebnisse von time in eine Datei umzuleiten, müssen Sie 2> oder 2>> verwenden. Zum Beispiel: `time ls 2> time_result.txt` zeigt die Ausgabe von ls auf dem Bildschirm an und speichert nur die Ergebnisse von time in der Datei.


Gleiche Kategorie Befehle