Website-Suche

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.