Können wir eine bestimmte Spalte in einem Top-Kommando bekommen, zum Beispiel interessiert mich nur die Spalte Speicherauslastung und CPU-Auslastung.
Wie reduziere ich die angezeigten Spalten des Befehls top auf die beiden obigen Spalten?
top -h).
Können wir eine bestimmte Spalte in einem Top-Kommando bekommen, zum Beispiel interessiert mich nur die Spalte Speicherauslastung und CPU-Auslastung.
Wie reduziere ich die angezeigten Spalten des Befehls top auf die beiden obigen Spalten?
top -h).
Antworten:
HINWEIS: Angenommen, Sie haben diese Version von top(procps) . Sie können mit diesem Befehl überprüfen:
$ top --version
top: procps version 3.2.8
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
procps ist oft die Version von topFedora / CentOS / RHEL und anderen Varianten.
Wenn Sie in der Manpage nach suchen, topsehen Sie einen Abschnitt mit dem Titel: "2b. Spalten AUSWÄHLEN und BESTELLEN". Es gibt Tastaturkürzel zum Umschalten der Sichtbarkeit für die verschiedenen Felder / Spalten.
Beispielsweise:
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
F or O . Select sort field
<,> . Move sort field: '<' next col left; '>' next col right
Sie können den Schlüssel verwenden , fwährend in topauf einem sekundären Bildschirm zu bekommen , wo Sie können festlegen , welche Spalten sichtbar oder nicht umgeschaltet werden sollte:
Beispielsweise:
Current Fields: ANOPQRSTUVbcdefgjlmyzWHIKX for window 3:Mem
Toggle fields via field letter, type any other key to return
* A: PID = Process Id * W: S = Process Status
* N: %MEM = Memory usage (RES) * H: PR = Priority
* O: VIRT = Virtual Image (kb) * I: NI = Nice value
* P: SWAP = Swapped size (kb) * K: %CPU = CPU usage
* Q: RES = Resident size (kb) * X: COMMAND = Command name/line
* R: CODE = Code size (kb)
...
Es gibt noch mehr, dies sind nur Beispiele. Wenn Sie mit dem Umschalten der Spalten fertig sind, verlassen Sie Escden Auswahlbildschirm mit.
Sie können das Shift+ verwenden W, um Ihre Änderungen zu speichern, damit sie die Standardeinstellungen sind:
W Write configuration file
Die Datei wird hier gespeichert $HOME/.toprcund sieht folgendermaßen aus:
$ more .toprc
RCfile for "top with windows" # shameless braggin'
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=1.000, Curwin=2
Def fieldscur=AEHIoqTWKNMBcdfgjpLrsuvyzX
winflags=129016, sortindx=19, maxtasks=0
summclr=2, msgsclr=5, headclr=7, taskclr=7
Job fieldscur=ABcefgjlrstuvyzMKNHIWOPQDX
winflags=63416, sortindx=13, maxtasks=0
summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem fieldscur=ANOPQRSTUVbcdefgjlmyzWHIKX
winflags=65464, sortindx=13, maxtasks=0
summclr=5, msgsclr=5, headclr=4, taskclr=5
Usr fieldscur=ABDECGfhijlopqrstuvyzMKNWX
winflags=65464, sortindx=12, maxtasks=0
summclr=3, msgsclr=3, headclr=2, taskclr=7
Weitere Informationen finden Sie in Abschnitt 5 der Manpage unter "5. DATEIEN".
[Centos-6 | Ubuntu 12.10] Dieser Cmd-Druck 4 Top-Prozesse sortiert nach CPU-AUSGABE
top -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
Ausgabe
%CPU %MEM COMMAND
7.7 0.2 top
0.0 0.3 init
0.0 0.0 kthreadd
0.0 0.0 migration/0
Anmerkung: Überschrift -n 5 statt 4, da wir auch den Spaltennamen haben
Spalten $ 9, $ 10, $ 12 bedeuten CPU, MEM, COMMAND. Verwenden Sie den Befehl 'top', um die Spaltennummern abzurufen
Nach SPEICHERNUTZUNG sortieren (Ihr 'Top' muss -m unterstützen, um dies auszuführen)
# this work on my centos-6 machine, NOT work on my Ubuntu 12.10
top -m -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
im json-Format anzeigen und auch Header entfernen,
top -bn 1 | grep "^ " | awk '{ printf("%s%s%s\n","{CPU:"$9",","MEM:"$10",","CMD:"$12"}"); }' | head -n 6 | tail -n +2
Ausgabe wie unten,
{CPU:6.4,MEM:0.3,CMD:gnome-terminal}
{CPU:6.4,MEM:1.9,CMD:chrome}
{CPU:0.0,MEM:0.0,CMD:init}
{CPU:0.0,MEM:0.0,CMD:kthreadd}
{CPU:0.0,MEM:0.0,CMD:ksoftirqd/0}
grep | awk | head | tailkönnen zu einer einzigen verschmolzen werden awk.
Befehlszeilenkonfiguration
Ich wollte nicht meinen gesamten Benutzer durch Überschreiben des Benutzers beeinträchtigen .toprc, also kam ich auf die Idee, eine separate Konfiguration pro Anwendungsfall zu haben.
Sie können topeine benutzerdefinierte Konfigurationsdatei anstelle der im Ausgangsverzeichnis Ihres Benutzers verwenden.
Ändern Sie einfach die HOMEVariable in ein benutzerdefiniertes Verzeichnis, das die .toprcDatei für Ihre Anforderungen enthält.
# TOPRC_PROFILE_DIRECTORY contains .toprc (or can be created by saving using shift+w after configuring using keybindings)
TOPRC_PROFILE_DIRECTORY="<your-directory>"
HOME="$TOPRC_PROFILE_DIRECTORY" top
topVariante? Es gibt Dutzende von Top-Implementierungen.