So speichern Sie die Top-Befehlsausgabe in einer Datei
Der Linux-Befehl top wird häufig von Systemadministratoren verwendet, um Systemstatistiken in Echtzeit bezüglich Systemverfügbarkeit und Lastdurchschnitt, benutztem Speicher usw. anzuzeigen laufende Aufgaben, eine Zusammenfassung von Prozessen oder Threads und detaillierte Informationen zu jedem laufenden Prozess.
Neben der Echtzeitanzeige des laufenden Systems kann die Ausgabe des Top-Befehls jedoch auch in einer Datei gespeichert werden, indem das Flag -b
verwendet wird, das top anweist, im Batch-Modus zu arbeiten, und -n
-Flag, um die Anzahl der Iterationen anzugeben, die der Befehl ausgeben soll.
Im folgenden Beispiel leiten wir die Ausgabe des top-Befehls in die Datei top.txt
im aktuellen Arbeitsverzeichnis um. Das Argument -n wird verwendet, um nur einen Snapshot des Befehls an die genannte Datei zu senden.
top -b -n 1 > top.txt
Um die resultierende Datei zu lesen, verwenden Sie ein Befehlszeilen-Dateilesedienstprogramm, z. B. den Befehl cat, less oder more.
less top.txt
Um fünf Iterationen des obersten Befehls zu erhalten, führen Sie den Befehl wie im folgenden Auszug gezeigt aus.
top -b -n 5 > top-5iterations.txt
Um nur die Anzahl der ausgeführten Aufgaben aus der Ergebnisdatei anzuzeigen, verwenden Sie den grep-Filter, wie im folgenden Befehlsbeispiel gezeigt.
cat top-5iterations.txt | grep Tasks
Um einen Schnappschuss eines bestimmten Prozesses im Top-Dienstprogramm zu erstellen, führen Sie den Befehl mit dem Flag PID (-p)
aus. Um die PID eines laufenden Prozesses zu erhalten, geben Sie den pidof-Befehl für den Namen des laufenden Prozesses ein.
In diesem Beispiel überwachen wir den cron-Prozess über den top-Befehl, indem wir drei Snapshots der PID erstellen.
pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt
Mithilfe einer for-Iterationsschleife können wir alle zwei Sekunden eine Prozessstatistik über seine PID anzeigen, wie im folgenden Beispiel gezeigt. Die Ausgabe der Schleife kann auch in eine Datei umgeleitet werden. Wir verwenden dieselbe Cron-PID wie im obigen Beispiel.
for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done
Schleifenausgabe in eine Datei umleiten.
for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt
Dies sind nur einige Beispiele dafür, wie Sie System- und Prozessstatistiken über den top-Befehl überwachen und sammeln können.