Einzelne CPU% in "Top" -Ausgabe

11792
Uday

Normalerweise drücken Sie '1' im interaktiven Modus von oben, um die einzelnen CPU-Prozentsätze anzuzeigen.

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

top -n1b 

Ich leite diese Ausgabe in eine Datei um, um sie später anzuzeigen, und so etwas, also brauche ich den Stapelmodus. Ist es möglich? Die Installation eines separaten Werkzeugs dafür ist nicht möglich.

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

10

5 Antworten auf die Frage

7
jwhitlock

Wechseln Sie in Interactive Top durch Eingeben zu einzelnen CPU-Prozenten 1, und schreiben Sie dann die aktuelle Konfiguration in eine Datei, indem Sie sie eingeben W. Das wird schaffen ~/.toprc. Jetzt top -n1bwird auch pro CPU% ausgegeben. Möglicherweise müssen Sie die .toprcDatei kopieren und die Berechtigungen ändern, wenn Ihr Skript unter einem anderen Benutzer ausgeführt wird.

Das Q fragt nach dem Batch-Modus. Charles Stewart vor 14 Jahren 0
Ich werde versuchen, klarer zu sein: Ich kenne keinen Weg * in der Befehlszeile *, um "ob im Batch-Modus die einzelne CPU" zu drucken. Top liest jedoch im Batch-Modus `.toprc`, so dass Sie diese Datei wie beschrieben einrichten können, und Sie erhalten dann im Batch-Modus einzelne CPU-Prozentsätze. Oder zumindest für mich (procps Version 3.2.7) jwhitlock vor 14 Jahren 2
muss es "top" sein? Warum nicht 'ps' verwenden und nach% CPU sortieren? Ich finde% CPU sogar irreführend, ich neige dazu, nach VSIZE oder RSS zu sortieren, da meine Server häufig durch unachtsame Speicherverluste beeinträchtigt werden. memnoch_proxy vor 14 Jahren 0
4
Dan Andreatta

Muss es top sein? Vielleicht brauchst du mpstat

 mpstat -A 
0
Charles Stewart

Ich weiß nicht, wie man dies mit der Procutils-Oberseite richtig macht. 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% seit der Ausführung zu schätzen. Daher die -n2. Sie können sich auf die zweite Statistikliste beschränken, indem Sie alles bis zur zweiten leeren Zeile wegwerfen.

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

0
s1d

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

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/

0
AXE-Labs

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