Auf Unix-ähnlichen Systemen wissen Sie möglicherweise, wann mit der Ausführung eines Befehls oder Prozesses begonnen wird und wie lange ein Prozess bereits ausgeführt wird. Aber woher wissen Sie, wann der Befehl oder Prozess abgeschlossen ist oder wie lange die Ausführung gedauert hat? Auf Unix-ähnlichen Systemen ist dies sehr einfach! Es gibt ein speziell für diesen Zweck entwickeltes Programm namens GNU time. Mithilfe des Zeitprogramms können wir die gesamte Ausführungszeit eines Befehls oder Programms im Linux-Betriebssystem einfach messen. Der Zeitbefehl ist in den meisten Linux-Distributionen vorinstalliert, Sie müssen ihn also nicht installieren. Ermitteln Sie die Ausführungszeit eines Befehls oder Prozesses in Linux Um die Ausführungszeit eines Befehls oder Programms zu messen, führen Sie Folgendes aus: oder, Beispielausgabe: dir1 dir2 file1 file2 mcelog real 0m0.007s Benutzer 0m0.001s System 0 m 0,004 s $ Zeit ls -a . .bash_logout dir1 file2 mcelog .sudo_as_admin_successful .. .bashrc dir2 .gnupg .profile .wget-hsts .bash_history .cache Datei1 .local .stack real 0m0.008s Benutzer 0m0.001s System 0 m 0,005 s Der obige Befehl zeigt die Gesamtausführungszeit des ls-Befehls. Sie können ls durch einen beliebigen Befehl oder Prozess ersetzen, um die gesamte Ausführungszeit zu ermitteln. Ausgabedetails:
Wir können den Befehl auch so beschränken, dass er nur für einen bestimmten Zeitraum ausgeführt wird. Weitere Einzelheiten finden Sie in den folgenden Tutorials: So lassen Sie einen Befehl in Linux für eine bestimmte Zeit ausführen Zeit und /usr/bin/Zeit Ihnen ist vielleicht aufgefallen, dass wir in den obigen Beispielen zwei Befehle verwendet haben: time und /usr/bin/time. Sie fragen sich vielleicht, was der Unterschied ist. Lassen Sie uns zunächst mithilfe des Typbefehls sehen, was der Zeitbefehl ist. Für die Linux-Befehle, die wir nicht kennen, wird der Typbefehl verwendet, um Informationen zu verwandten Befehlen zu finden. Weitere Einzelheiten finden Sie in diesem Handbuch. $ Typ -a Zeit Zeit ist ein Shell-Schlüsselwort Zeit ist /usr/bin/time Wie Sie in der Ausgabe oben sehen können, bedeutet Zeit zweierlei:
Da Shell-Schlüsselwörter Vorrang vor ausführbaren Dateien haben, führen Sie den in der Shell integrierten Befehl aus, wenn Sie den Zeitbefehl ausführen, ohne einen vollständigen Pfad anzugeben. Wenn Sie jedoch /usr/bin/time ausführen, führen Sie den echten GNU-Zeitbefehl aus. Daher müssen Sie möglicherweise den vollständigen Pfad angeben, um den eigentlichen Befehl auszuführen. In den meisten Shells wie BASH, ZSH, CSH, KSH, TCSH usw. ist das integrierte Schlüsselwort „time“ verfügbar. Das Schlüsselwort „time“ hat weniger Optionen als die ausführbare Datei. Die einzige Option, die Sie verwenden können, ist „-p“. Sie wissen jetzt, wie Sie mit dem Zeitbefehl die Gesamtausführungszeit eines bestimmten Befehls oder Prozesses ermitteln. Möchten Sie mehr über das GNU-Zeittool erfahren? Lesen Sie weiter! Eine kurze Einführung in das GNU-Zeitprogramm Das GNU-Zeitprogramm führt einen Befehl oder ein Programm mit angegebenen Argumenten aus und fasst die Systemressourcennutzung nach Abschluss des Befehls in der Standardausgabe zusammen. Im Gegensatz zum Zeitschlüsselwort zeigt das GNU-Zeitprogramm nicht nur die Ausführungszeit eines Befehls oder Prozesses an, sondern auch andere Ressourcen wie Speicher, E/A und IPC-Aufrufe. Die Syntax des Zeitbefehls lautet: /usr/bin/time [Optionen] Befehl [Argumente …] Die Optionen in der obigen Syntax beziehen sich auf eine Reihe von Optionen, die mit dem Zeitbefehl verwendet werden können, um bestimmte Funktionen auszuführen. Folgende Optionen stehen zur Verfügung:
Wenn Sie den GNU-Zeitbefehl ohne Optionen verwenden, wird die folgende Ausgabe angezeigt. $ /usr/bin/time wc /etc/hosts 9 28 273 /etc/hosts 0,00 Benutzer 0,00 System 0:00,00 abgelaufen 66 % CPU (0 Durchschnittstext + 0 Durchschnittsdaten 2024 maxresident) k 0Eingaben+0Ausgaben (0Haupt-+73Neben-)Seitenfehler 0Swaps Wenn Sie denselben Befehl mit dem Shell-Schlüsselwort „time“ ausführen, sieht die Ausgabe etwas anders aus: $ Zeit wc /etc/hosts 9 28 273 /etc/hosts real 0m0.006s Benutzer 0m0.001s System 0 m 0,004 s Manchmal möchten Sie die Nutzung der Systemressourcen möglicherweise in einer Datei statt im Terminal ausgeben. Dazu können Sie die Option -o wie unten gezeigt verwenden. $ /usr/bin/time -o datei.txt ls dir1 dir2 file1 file2 datei.txt mcelog Wie Sie sehen, druckt der Zeitbefehl nichts auf dem Terminal aus. Weil wir die Ausgabe in die Datei file.txt geschrieben haben. Schauen wir uns den Inhalt dieser Datei an: $ cat datei.txt 0,00 Benutzer 0,00 System 0:00,00 abgelaufen 66 % CPU (0 Durchschnittstext + 0 Durchschnittsdaten 2512 max. Resident) k 0Eingaben+0Ausgaben (0Haupt-+106Neben-)Seitenfehler 0Swaps Wenn Sie die Option -o verwenden und keine Datei mit dem Namen file.txt haben, wird eine Datei erstellt und die Ausgabe dort hineingeschrieben. Wenn die Datei existiert, wird der ursprüngliche Inhalt überschrieben. Sie können die Option -a verwenden, um die Ausgabe an eine Datei anzuhängen, anstatt ihren Inhalt zu überschreiben. Mit der Option -f kann der Benutzer das Ausgabeformat nach seinen Wünschen steuern. Beispielsweise zeigt die Ausgabe des folgenden Befehls nur Benutzer, System und Gesamtzeit an. $ /usr/bin/time -f "\t%E real,\t%U Benutzer,\t%S sys" ls dir1 dir2 file1 file2 mcelog 0:00.00 real, 0.00 Benutzer, 0.00 sys Bitte beachten Sie, dass der in die Shell integrierte Zeitbefehl nicht über die gesamte Funktionalität des GNU-Zeitprogramms verfügt. Eine detaillierte Beschreibung des GNU-Zeitprogramms kann mit dem Befehl „man“ angezeigt werden. Um mehr über das in Bash integrierte Zeitschlüsselwort zu erfahren, führen Sie Folgendes aus: Zusammenfassen Oben habe ich Ihnen erklärt, wie Sie die Ausführungszeit eines Befehls oder Prozesses in Linux ermitteln können. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung inkompatibler Änderungen an Rendering-Funktionen in Vue3
>>: Lösung für den MySQL-Dienstfehler 1067: Ändern Sie den Pfad der ausführbaren MySQL-Datei
Inhaltsverzeichnis Was ist React Fiber? Warum Rea...
Führen Sie die Anweisung „create table“ in der Da...
Vorwort Wenn Bildlaufereignisse wie Scrollen und ...
Vorwort Beim Schreiben von Code stoßen wir gelege...
Inhaltsverzeichnis Vorwort 1. Verwenden Sie for.....
Inhaltsverzeichnis 1. Datenbank-Engpass 2. Unterb...
Tomcat8-Image herunterladen [root@localhost ~]# D...
Inhaltsverzeichnis Überblick Code-Implementierung...
Hinweis Auf dieses Plugin kann nur unter dem http...
1. Ein Container ist eine unabhängig laufende Anw...
yum-Befehl Yum (vollständiger Name Yellow Dog Upd...
Code kopieren Der Code lautet wie folgt: <div ...
React-Native-Installationsprozess 1.npx react-nat...
In diesem Artikel wird der spezifische Code von V...
Nach dem Einrichten des MySQL-Master-Slaves wisse...