Ich habe heute gelernt, wie man sich die Zeit anzeigen lassen kan, die euer Linux System für die Ausführung eines Befehls benötigt hat. Dadurch kann man seine Performance besser überwachen und die Aufgaben entsprechend verteilen.
Der Befehl
Man gibt einfach in die Kommandozeile time und danach ein entsprechendes Befehl ein. Also die Struktur würde beispielsweise so aussehen:
time dir
Das oben genannte Beispiel listet zum Beispiel den Ordnerinhalt auf und direkt darunter wird mir die Zeit angezeigt, wie lange das System für die Ausführung dieser Aufgabe benötigt hat. Das Ergebnis sieht folgendermaßen aus:
- real / elapsed 0m0,017s
Ist die Zeit, die vom drücken der Enter Taste bis zum Ergebnis gebraucht wurde. - user 0m0,002s
Die Zeit, wie lange das ausgeführte Programm gearbeitet hat. - sys 0m0,010s
Die Kernel Zeit. Das bedeutet, das ist die Zeit, die der Befehl z.B. zum lesen von Dateien gebraucht hat.
Der Einsatz bei mir
Ich habe zum Beispiel auf meinem Raspberry Pi, Nextcloud installiert und diese Software hat mit meiner Konfiguration zwei Befehle, die ich mindestens einmal täglich ausführen muss. Diese Befehle dauern manchmal mehrere Stunden und ich muss die genaue Zeit haben, damit ich weiß, wieviel Uhr ich die Befehle in der Nacht ausführen lassen soll.
Ich kann jedoch nicht ein Befehl eingeben und vor dem Rechner sitzen bleiben, bis es die Aufgaben abgeschlossen hat, sondern es wäre praktisch, wenn ich am Morgen ein Befehl eingebe und am Abend sehe, wie lange er dafür gebraucht hat. Ein Befehl heißt zum Beispiel:
time sudo -u www-data php /var/www/html/cloud/occ files:scan --all
Dieser scannt alle meine Ordner in der Cloud und macht diese in der App verfügbar. Das dauert zum Beispiel zwei Stunden und deswegen werde ich das auf 00 Uhr Nachts ausführen lassen und den nächsten Befehl dann um 3 Uhr, um auf der sicheren Seite zu sein.