einzelne CPU% in 'Top'-Ausgabe


10

Normalerweise drücken wir im interaktiven Modus von oben '1', um einzelne CPU% anzuzeigen.

Ich bin jedoch nicht in der Lage, die Logik herauszufinden, um die gleiche Ausgabe im Batch-Modus zu erhalten, dh

top -n1b

Ich leite diese Ausgabe in eine Datei um, um sie später anzuzeigen, und solche Dinge, also brauche ich den Batch-Modus. Ist es möglich? Die Installation eines separaten Tools hierfür ist nicht möglich.

Ich suche nach einer Option, die mir fehlt, oder nach einer Möglichkeit, die Ausgabe zu erfassen.

Antworten:


7

Wechseln Sie im interaktiven Bereich oben durch Eingabe zu einer einzelnen CPU% 1und schreiben Sie die aktuelle Konfiguration durch Eingabe in eine Datei W. Dies wird erstellen ~/.toprc. Jetzt top -n1bwird auch pro CPU% ausgegeben. Möglicherweise müssen Sie die .toprcDatei kopieren und die Berechtigungen ändern, wenn Ihr Skript als anderer Benutzer ausgeführt wird.


1
Das Q fragt nach dem Batch-Modus.
Charles Stewart

2
Ich werde versuchen, klarer zu sein: Ich kenne keine Möglichkeit in der Befehlszeile , oben zu sagen, "wenn Sie sich im Batch-Modus befinden, drucken Sie die einzelnen CPU%". Top liest jedoch .toprcim Batch-Modus, sodass Sie diese Datei wie beschrieben einrichten können. Anschließend erhalten Sie auch im Batch-Modus eine einzelne CPU%. Oder zumindest für mich (Procps Version 3.2.7)
Jwhitlock

muss es sein top? Warum nicht ps% CPU verwenden und sortieren? Ich finde% CPU sogar irreführend, ich neige dazu, nach VSIZE oder RSS zu sortieren, weil meine Server oft von falschen Speicherfressern heruntergefahren werden.
memnoch_proxy


1

Dies ist eine Art Hack, scheint aber zu funktionieren:

$ ssh local.ubuntu.server "(sleep 1;echo 1)|TERM=xterm script -c top & sleep 2;killall script"|grep '^%Cpu'
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

0

Ich weiß nicht, wie ich das mit der Procutils-Spitze richtig machen soll. Vielleicht echo k|top -n2 -d1.0macht der Trick? Beachten Sie, dass die erste Ausgabe von top keine nützlichen Informationen zur Verwendung von CPU% liefert: top versucht nur, CPU% zu schätzen, seit es ausgeführt wird. Daher die -n2. Sie können sich auf die zweite Statistikliste beschränken, indem Sie alles bis zur zweiten Leerzeile wegwerfen.

Mit dem BSD-Top top -l2 -s1 -o cpuwerden (getestet) die Top-Statistiken zweimal gedruckt, sortiert nach CPU%. Nur für den Fall, dass auf Ihrem System ein BSD-Top lauert ...


0

Sie können oben verwenden. Es ist ein sehr umfassender Monitor, auf dem Sie Prozesse sowie Systemressourcen wie Speicher und CPU überwachen können. Es gibt eine individuelle Ausgabe für jeden CPU-Kern.

Für Ubuntu-Systeme ist es als Paket im Repo verfügbar, sodass Sie es direkt über apt-get / synaptic installieren können.

Für Redhat und abgeleitete Systeme finden Sie die Pakete hier: http://dag.wieers.com/rpm/packages/atop/

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.