WMP Sites

Der Linux-Befehl time: Messung von Ausführungszeit und Ressourcenverbrauch

Lukas Fuchs vor 2 Jahren Frontend 3 Min. Lesezeit

Was ist der Linux-Befehl time?

Zweck und Funktion

Der Befehl time ist ein unverzichtbares Werkzeug in der Linux-Shell, mit dem du die Ausführungszeit und den Ressourcenverbrauch von Befehlen messen kannst. Er bietet detaillierte Informationen zur Laufzeit, einschließlich Benutzer- und Systemzeit, Echtzeit und Speicherverbrauch.

Wie funktioniert er?

time führt den von dir angegebenen Befehl aus und protokolliert dabei die benötigte Zeit und die verbrauchten Ressourcen. Die Ausgabe wird in einem einheitlichen Format bereitgestellt, sodass du die Leistung verschiedener Befehle leicht vergleichen kannst.

Anwendungsfälle

Dieser vielseitige Befehl hat eine Vielzahl von Anwendungsfällen, darunter:

  • Fehlerbehebung: Identifiziere Befehle, die ungewöhnlich viel Zeit in Anspruch nehmen oder zu viele Ressourcen verbrauchen.
  • Leistungsoptimierung: Vergleiche die Leistung verschiedener Versionen eines Befehls, um Bereiche für Verbesserungen zu ermitteln.
  • Benchmarking: Vergleiche die Leistung verschiedener Systeme oder Konfigurationen.
  • Überwachung: Überwache die Leistung laufender Prozesse, um Engpässe oder Leistungsprobleme zu erkennen.

Verwendung des Befehls time

Mit dem Linux-Befehl time kannst du die Ausführungszeit und den Ressourcenverbrauch eines Befehls messen. Du kannst ihn verwenden, um die Leistung von Befehlen zu vergleichen, Engpässe zu identifizieren und die Ausführungsparameter zu optimieren.

Syntax

Die Syntax des Befehls time lautet wie folgt:

time [Optionen] Befehl [Argumente]

Optionen

Der Befehl time bietet zahlreiche Optionen, mit denen du die Datenausgabe steuern kannst. Hier sind einige nützliche Optionen:

  • -v, --verbose: Zeigt ausführliche Informationen über die Ausführungszeit an, einschließlich der verbrauchten CPU-Zeit, der verbrauchten Echtzeit und der Anzahl der unfreiwilligen Kontextwechsel.
  • -o, --output=FILE: Schreibt die Ausgabe in die angegebene Datei.
  • --format=FORMAT: Gibt die Ausgabe im angegebenen Format aus.
  • -a, --append: Fügt die Ausgabe einer vorhandenen Datei hinzu.

Wie du den Befehl time verwendest

Um den Befehl time zu verwenden, führe ihn einfach vor dem Befehl aus, den du messen möchtest. Beispielsweise kannst du die Ausführungszeit des Befehls ls wie folgt messen:

time ls

Die Ausgabe des Befehls time liefert dir Informationen über die Ausführungszeit, den Ressourcenverbrauch und andere relevante Metriken.

Messen der Ausführungszeit

Die Ausführungszeit eines Befehls ist die Zeit, die er für die Ausführung benötigt, einschließlich der Zeit, die für die Systemressourcenzuweisung, die Befehlsausführung und die Rückgabe der Kontrolle an die Shell aufgewendet wird. Du kannst die Ausführungszeit mithilfe der folgenden Metriken messen:

  • Echtzeit (elapsed): Die Gesamtzeit, die für die Ausführung des Befehls benötigt wird, einschließlich der Wartezeiten.
  • Benutzerzeit (user): Die Zeit, die der Befehl im Benutzermodus ausgeführt wird.
  • Systemzeit (sys): Die Zeit, die der Befehl im Kernelmodus ausgeführt wird.

Messung des Ressourcenverbrauchs

Der Befehl time kann auch den Ressourcenverbrauch eines Befehls messen, z. B. den Speicherverbrauch, die Anzahl der Seitenfehler und die Anzahl der unfreiwilligen Kontextwechsel. Diese Informationen können dir helfen, Engpässe zu identifizieren und die Ausführungsparameter zu optimieren.

Erkennen, wie lange ein Befehl läuft

Wenn du wissen möchtest, wie lange ein Befehl läuft, ist der Linux-Befehl time dein Freund. Mit time kannst du die Ausführungszeit eines beliebigen Befehls messen, indem du ihm den Befehl als Argument übergibst.

Einfache Zeiterfassung

Die einfachste Möglichkeit, die Ausführungszeit zu messen, ist die folgende:

time <befehl>

Beispiel:

time ls /

Diese Ausgabe zeigt die Ausführungszeit in realer Zeit, Benutzerzeit und Systemzeit an:

real    0m0.001s
user    0m0.000s
sys     0m0.000s

Interpretieren der Ausgabe

  • Reale Zeit: Die Gesamtzeit von der Befehlsausführung bis zum Abschluss, einschließlich Wartezeiten.
  • Benutzerzeit: Die Zeit, die der Befehl in deinem Nutzerkontext verbracht hat.
  • Systemzeit: Die Zeit, die der Befehl im Kernel-Kontext verbracht hat.

Wenn du nur an der reinen Ausführungszeit interessiert bist, summiere die Benutzer- und Systemzeit.

Messung des Ressourcenverbrauchs

Neben der Ausführungszeit ermöglicht dir der Befehl time auch die Messung des Ressourcenverbrauchs des ausgeführten Befehls. Dazu gehören:

CPU-Auslastung

Du kannst die gesamte vom Befehl genutzte CPU-Zeit mit der Option -v messen:

time -v [Befehl]

Die Ausgabe enthält mehrere Zeilen mit CPU-bezogenen Informationen, darunter:

  • User: Die von dem Befehl im Benutzermodus verbrachte CPU-Zeit
  • System: Die von dem Befehl im Systemmodus verbrachte CPU-Zeit
  • Elapsed: Die Gesamtzeit, die der Befehl benötigt hat

Speicherauslastung

Zum Messen der vom Befehl verbrauchten Speicherauslastung kannst du die Option -v zusammen mit der Option -l verwenden:

time -vl [Befehl]

Die Ausgabe enthält eine Zeile mit Speicherinformationen, darunter:

  • Maximum resident set size: Die maximale Menge an physischem Speicher, die vom Befehl belegt wurde
  • Average resident set size: Die durchschnittliche Menge an physischem Speicher, die vom Befehl belegt wurde

I/O-Statistik

Du kannst die vom Befehl ausgeführten I/O-Operationen mit der Option -v zusammen mit der Option -i messen:

time -vi [Befehl]

Die Ausgabe enthält mehrere Zeilen mit I/O-bezogenen Informationen, darunter:

  • Input: Die Anzahl der vom Befehl gelesenen Blöcke
  • Output: Die Anzahl der vom Befehl geschriebenen Blöcke

Anzeigen detaillierter Informationen über die Ausführungszeit

Über die grundlegenden Statistiken hinaus bietet dir der Befehl time die Möglichkeit, aufschlussreiche Details über die Ausführungszeit eines Befehls zu erhalten.

Benutzer- und Systemzeit

Neben der Gesamtlaufzeit liefert time Informationen zur Benutzerzeit und zur Systemzeit.

  • Benutzerzeit: Dies ist die Zeit, die ein Befehl im Benutzermodus verbracht hat, in dem er Anweisungen direkt für den Prozessor ausführt.
  • Systemzeit: Dies ist die Zeit, die ein Befehl im Systemmodus verbracht hat, in dem er auf Diensten oder Ressourcen des Kernels zugreift.

Du kannst diese Informationen verwenden, um zu verstehen, ob ein Befehl durch die direkte Ausführung oder durch den Zugriff auf Systemressourcen begrenzt ist.

Ein-/Ausgabewarteschlangen

time zeigt auch die Zeit an, die ein Befehl in Ein-/Ausgabewarteschlangen verbracht hat.

  • Ein-/Ausgabewarteschlange (E/A-Warteschlange): Dies ist die Zeit, die ein Befehl auf Daten von einer E/A-Quelle wie einer Festplatte oder einem Netzwerk gewartet hat.
  • Wartezeit auf Ein-/Ausgabe (Wartezeit für E/A): Dies ist die Zeit, die ein Befehl auf die Durchführung einer E/A-Operation gewartet hat, nachdem die Daten in der Warteschlange waren.

Diese Informationen können hilfreich sein, um Engpässe in deinem System zu identifizieren, die durch langsame E/A-Vorgänge verursacht werden.

Seitenfehler

time verfolgt auch die Anzahl der Seitenfehler, die während der Befehlsaufruf aufgetreten sind.

  • Seitenfehler: Dies ist ein Fehler, der auftritt, wenn ein Befehl auf einen Speicherbereich zugreift, der nicht im physischen Speicher vorhanden ist und deshalb von der Festplatte geladen werden muss.

Eine hohe Anzahl von Seitenfehlern kann auf einen unzureichenden Arbeitsspeicher oder auf einen ineffizienten Speicherzugriff durch den Befehl hindeuten.

Fehlersuche bei Befehlen mit dem Befehl time

Wenn du versuchst, die Ausführungszeit oder den Ressourcenverbrauch eines Befehls mit dem Befehl time zu messen, kannst du auf einige Fehler stoßen. Hier sind einige häufige Probleme und Möglichkeiten, sie zu beheben:

Der Befehl time wird nicht erkannt

  • Stelle sicher, dass du den Befehl time korrekt eingegeben hast.
  • Überprüfe, ob die time-Binärdatei auf deinem System installiert ist. Unter Ubuntu kannst du dies mit dem Befehl which time prüfen.
  • Installiere die time-Binärdatei, falls sie nicht installiert ist.

Der gemessene Befehl wird nicht korrekt ausgeführt

  • Überprüfe, ob du den zu messenden Befehl korrekt eingegeben hast.
  • Stelle sicher, dass der gemessene Befehl die erforderlichen Berechtigungen besitzt, um ausgeführt zu werden.
  • Überprüfe, ob der gemessene Befehl von deinem System unterstützt wird.

Die Ausgabe des Befehls time ist schwer verständlich

  • Verwende die Option -o FORMAT des Befehls time, um die Ausgabe im gewünschten Format zu formatieren.
  • Betrachte die Seite man time für weitere Informationen zur Ausgabeformatierung.

Der gemessene Befehl verbraucht unerwartet viele Ressourcen

  • Überprüfe, ob der gemessene Befehl für die Ausführung auf deinem System optimiert ist.
  • Betrachte die Verwendung des Befehls mit dem Befehl top oder htop, um mögliche Engpässe zu identifizieren.
  • Optimieren den gemessenen Befehl, um den Ressourcenverbrauch zu reduzieren.

Der Befehl time stürzt mit einer Fehlermeldung ab

  • Stelle sicher, dass du die neueste Version des Befehls time verwendest.
  • Melde den Fehler den Entwicklern der time-Binärdatei.
  • Verwende alternative Methoden, um die Ausführungszeit oder den Ressourcenverbrauch zu messen, z. B. die /usr/bin/time-Binärdatei oder das Skript /usr/lib/time.

Tipps und Best Practices für die Verwendung des Befehls time

Bei der Verwendung des Befehls time beachte folgende Tipps und Best Practices, um optimale Ergebnisse zu erzielen:

Nutze Optionen zur Steuerung der Ausgabe

Der Befehl time bietet verschiedene Optionen, mit denen du die Ausgabe anpassen kannst. So kannst du beispielsweise mit der Option -v detaillierte Informationen über den Ressourcenverbrauch anzeigen lassen. Verwende die Option -a, um eine Zusammenfassung der Ausführungszeiten und Ressourcenverbrauchsdaten zu erhalten.

Interpretiere die Ausgabe sorgfältig

Die Ausgabe des Befehls time kann komplex sein, insbesondere bei umfangreichen Befehlen. Nimm dir Zeit, die Ausgabe zu interpretieren und zu verstehen, welche Informationen bereitgestellt werden. Suche nach den Abschnitten "real", "user" und "sys", die die Ausführungszeit des Befehls angeben.

Verwende time als Wrapper-Befehl

Du kannst time als Wrapper-Befehl verwenden, um Befehle auszuführen und deren Ausführungszeit zu messen. Dies kann hilfreich sein, um die Leistung mehrerer Befehle zu vergleichen oder um lang laufende Aufgaben zu überwachen.

Verwende Profiling-Tools

Für detailliertere Einblicke in die Befehlslaufzeit kannst du Profiling-Tools wie Valgrind oder gprof verwenden. Diese Tools bieten zusätzliche Datenpunkte wie die Anzahl der Funktionsaufrufe, die Speicherzuteilung und den Cache-Trefferanteil.

Experimentiere mit verschiedenen Befehlen

Probiere verschiedene Befehle mit time aus, um zu verstehen, wie sie sich auf die Ausführungszeit auswirken. Dies kann dir helfen, Befehle zu optimieren und die Leistung deines Systems zu verbessern.

Beachte Einschränkungen

Der Befehl time hat einige Einschränkungen. So kann er beispielsweise die Ausführungszeit von Befehlen, die im Hintergrund ausgeführt werden, nicht messen. Berücksichtige diese Einschränkungen bei der Verwendung des Befehls.

Weitere Beiträge

Folge uns

Neue Beiträge

Frontend

Icon Design: Die perfekte Ergänzung für deine Website oder App

AUTOR • Jun 18, 2026
Frontend

Moodle Symbole: Bedeutung, Anwendung und Erstellung einfach erklärt

AUTOR • Jun 18, 2026
Frontend

Hintergrundfarbe in HTML ändern: Schritt-für-Schritt-Anleitung für Anfänger und Profis

AUTOR • Jun 18, 2026
Frontend

HTML Tabellen mit Rahmen erstellen: So baust du professionelle und strukturierte Tabellen

AUTOR • Jun 18, 2026
Datenbanken

Daten aus HTML-Tabellen mühelos in Excel übertragen: So geht's schnell und sauber

AUTOR • Jun 18, 2026
Frontend

HTML Tabellenrahmen ohne CSS erstellen: Anleitung für Entwickler

AUTOR • Jun 18, 2026
Frontend

HTML Parsing Techniken und Tools zum Extrahieren von Daten aus Webdokumenten: So baue ich saubere Daten-Pipelines

AUTOR • Jun 18, 2026
DevOps & Deployment

Linux Dienst neu starten: Die detaillierte Anleitung für systemd, SysVinit und Fehlerfälle

AUTOR • Jun 18, 2026
DevOps & Deployment

macOS Linux Dualboot Konfiguration: Die ultimative Anleitung für ein sauberes Setup

AUTOR • Jun 18, 2026
Frontend

HTML Tabellenspaltenbreite optimieren: So kontrolliere ich das Layout meiner Tabellen

AUTOR • Jun 18, 2026
Frontend

CSS Animationen meistern: Belebe deine Website mit Bewegung, die konvertiert

AUTOR • Jun 18, 2026
Frontend

HTML Kalender: Ein umfassender Leitfaden zur Erstellung interaktiver Zeitpläne

AUTOR • Jun 18, 2026
DevOps & Deployment

Linux Partition loeschen: Schritt-für-Schritt-Anleitung zur Bereinigung Ihres Laufwerks

AUTOR • Jun 18, 2026
DevOps & Deployment

Rekursives Auffinden von Dateien nach Name unter Linux: die schnellsten Befehle und Praxis-Tipps

AUTOR • Jun 18, 2026
DevOps & Deployment

Gruppenzugehörigkeit eines Benutzers unter Linux auflisten: Die schnellsten Befehle und Praxis-Tipps

AUTOR • Jun 18, 2026
API & Webservices

Postman: Download, Installation und erste Schritte

AUTOR • Jun 18, 2026
DevOps & Deployment

Linux Zeitzone festlegen: Schritt-für-Schritt-Anleitung für jede Distribution

AUTOR • Jun 18, 2026
DevOps & Deployment

Linux ls: Ein umfassender Leitfaden zum Dateimanager der Kommandozeile

AUTOR • Jun 18, 2026
DevOps & Deployment

Dual Boot von Windows 11 und Linux: Schritt-für-Schritt-Anleitung für eine saubere Installation

AUTOR • Jun 18, 2026
DevOps & Deployment

Umweltvariablen in Linux mit dem echo Befehl ausgeben: So geht’s schnell und sauber

AUTOR • Jun 18, 2026

Beliebte Beiträge

DevOps & Deployment

Cheat Engine: Das ultimative Werkzeug für das Modifizieren von Videospielen

AUTOR • May 06, 2024
DevOps & Deployment

Gehaltsaussichten für Linux-Administratoren

AUTOR • May 06, 2024
Backend

Geräte unter Linux auflisten und verwalten

AUTOR • May 06, 2024
DevOps & Deployment

Ubuntu vs. Mint: Welches Linux ist das Richtige für Sie?

AUTOR • May 06, 2024
DevOps & Deployment

Entdecken Sie den Linux App Store: Ihr Tor zu Tausenden von Apps

AUTOR • May 06, 2024
Frontend

HTML-Zählerskript: Verfolgen und Anzeigen von Besucherdaten auf Ihrer Website

AUTOR • Apr 24, 2024
Frontend

HTML in JSON: Konvertieren, Validieren und Verwenden

AUTOR • Apr 24, 2024
Frontend

Das HTML-Mark-Tag: Eine Anleitung zur einfachen Textmarkierung

AUTOR • Apr 24, 2024
Frontend

Die 404-Seite: Was sie ist, warum sie wichtig ist und wie man sie optimiert

AUTOR • Apr 24, 2024
Frontend

HTML-Kalender: Erstellen Sie interaktive und ansprechende Datumsauswahl

AUTOR • Apr 24, 2024
Frontend

Durchgestrichener Text in HTML: Das Strikethrough-Element

AUTOR • Apr 23, 2024
DevOps & Deployment

Effektive Nutzung von Tcpdump mit IP-Adressfiltern

AUTOR • Jun 16, 2025
DevOps & Deployment

Die besten Desktop-Umgebungen für Linux Mint im Überblick

AUTOR • Jun 16, 2025
DevOps & Deployment

Linux für Tablets: Vorteile, Herausforderungen und beliebte Distributionen

AUTOR • May 06, 2024
DevOps & Deployment

Dateimanager unter Ubuntu: Ein umfassender Leitfaden

AUTOR • May 06, 2024
DevOps & Deployment

Vergleich zweier Dateien unter Linux mit dem Diff-Befehl

AUTOR • May 06, 2024
Frontend

Der Linux-Befehl time: Messung von Ausführungszeit und Ressourcenverbrauch

AUTOR • May 06, 2024
DevOps & Deployment

Linux Mint: Eine umfassende Einführung für Einsteiger und Umsteiger

AUTOR • May 06, 2024
API & Webservices

HTTrack: Die ultimative Anleitung zum Herunterladen ganzer Websites

AUTOR • Apr 24, 2024
Frontend

Zentrierten Text in HTML: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 24, 2024