Ü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.