WMP Sites

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

Lukas Fuchs vor 1 Jahr 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

DevOps & Deployment

Linux Mint neben Windows 11: Nahtlose Installation und duale Betriebssysteme

AUTOR • Apr 21, 2026
DevOps & Deployment

FreeCAD-Installation unter Linux: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 21, 2026
DevOps & Deployment

Linux Open File: Anleitung zum Öffnen, Bearbeiten und Löschen von Dateien aus dem Terminal

AUTOR • Apr 21, 2026
DevOps & Deployment

Dual-Boot-Konfiguration mit Windows 11: Ein praktischer Leitfaden

AUTOR • Apr 21, 2026
Backend

ESP32 Webserver: Erstellen Sie Ihre eigenen Webanwendungen und Projekte

AUTOR • Apr 21, 2026
DevOps & Deployment

Wine auf Linux Mint: Eine ausführliche Anleitung zur Installation und Konfiguration

AUTOR • Apr 21, 2026
Beitrag

Neue Linux Distributionen 2025: Ein Blick auf die Zukunft der GNU/Linux-Welt

AUTOR • Apr 21, 2026
DevOps & Deployment

Windows-Programme ohne Probleme unter Linux ausführen

AUTOR • Apr 21, 2026
DevOps & Deployment

Snap Store installieren: Einfache Schritt-für-Schritt-Anleitung

AUTOR • Apr 21, 2026
DevOps & Deployment

Lösen des Fehlers "No Matching Manifest for Linux/Arm/V7" in Docker

AUTOR • Apr 21, 2026
DevOps & Deployment

Linux TV: Streamen, Aufnehmen und Steuern Ihres Fernsehers mit Open Source

AUTOR • Apr 09, 2026
DevOps & Deployment

DKMS unter Linux: Installation und Verwendung für Kernel-Module

AUTOR • Apr 09, 2026
DevOps & Deployment

Die besten Linux-Musikplayer für Hörgenuss der Extraklasse

AUTOR • Apr 09, 2026
DevOps & Deployment

Corsair iCUE auf Linux: Beleuchtungssteuerung und Überwachung für Enthusiasten

AUTOR • Apr 09, 2026
DevOps & Deployment

Gigacube Admin: Zugang zu den erweiterten Einstellungen Ihres Routers

AUTOR • Apr 09, 2026
DevOps & Deployment

Linux auf dem iPad installieren: Schritt-für-Schritt-Anleitung

AUTOR • Apr 09, 2026
DevOps & Deployment

Zwift unter Linux: Eine umfassende Anleitung

AUTOR • Apr 09, 2026
DevOps & Deployment

CrystalDiskInfo für Linux: Überwachen Sie die Gesundheit Ihrer Festplatten

AUTOR • Mar 17, 2026
DevOps & Deployment

PDFs unter Linux zusammenführen: Eine Schritt-für-Schritt-Anleitung

AUTOR • Mar 17, 2026
DevOps & Deployment

Miracast auf Linux: Streamen Sie Ihren Bildschirm kabellos

AUTOR • Mar 17, 2026

Beliebte Beiträge

DevOps & Deployment

So zeigen Sie DNS-Server unter Linux an

AUTOR • May 06, 2024
Beitrag

Word Beschriftung formatieren: Step-by-Step-Anleitung und Tipps

AUTOR • Sep 10, 2024
DevOps & Deployment

TCPdump-Beispiele: Paketakquise und Netzwerkdiagnose

AUTOR • May 06, 2024
API & Webservices

Die vollständige Anleitung zu poczta wp: Alles, was Sie wissen müssen

AUTOR • Jul 27, 2024
DevOps & Deployment

BitLocker unter Linux: Nahtlose Verschlüsselung für Ihre Daten

AUTOR • May 06, 2024
DevOps & Deployment

World of Warcraft auf Linux spielen: Eine guide für Abenteurer

AUTOR • Dec 02, 2024
DevOps & Deployment

Veracrypt unter Linux Mint: Verschlüsselung leicht gemacht

AUTOR • May 06, 2024
Frontend

Das Hamburger-Menü in CSS: So erstellen Sie ein responsives und benutzerfreundliches Navigationsmenü

AUTOR • Apr 24, 2024
DevOps & Deployment

Webcam-Nutzung unter Linux: Eine umfassende Anleitung

AUTOR • May 06, 2024
DevOps & Deployment

Starmoney für Linux: Finanzmanagement leicht gemacht

AUTOR • May 06, 2024
DevOps & Deployment

Linux auf dem iPad: Eine umfassende Anleitung

AUTOR • May 06, 2024
DevOps & Deployment

LaTeX: Das mächtige Werkzeug für hochwertiges Dokumentenschreiben

AUTOR • May 06, 2024
Beitrag

Alle Querverweise in Word aktualisieren: Ein umfassender Leitfaden

AUTOR • Dec 02, 2024
Beitrag

UTF-8 in ANSI umwandeln: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 12, 2025
DevOps & Deployment

Linux Mint Themes: Personalisieren Sie Ihren Desktop

AUTOR • Jun 16, 2025
DevOps & Deployment

Netzwerkadapter unter Linux anzeigen: Eine Schritt-für-Schritt-Anleitung

AUTOR • May 06, 2024
DevOps & Deployment

TTYs in Linux: Ein umfassender Überblick

AUTOR • May 06, 2024
DevOps & Deployment

Rufus-Alternativen: Die besten Werkzeuge zum Erstellen bootfähiger USB-Laufwerke

AUTOR • May 06, 2024
DevOps & Deployment

Das ultimative Linux-Media-Center: Vom Einsteiger zum Entertainment-Profi

AUTOR • Jun 24, 2024
DevOps & Deployment

Mounten von ISO-Images unter Linux: Eine Schritt-für-Schritt-Anleitung

AUTOR • Jul 11, 2025