CPU Informationen in Script

Dany

Well-Known Member
Hallo,

ich würde gerne die Zeile mit den CPU Informationen von den Befehl top in einen Shell Skript verwenden.

Zeile: CPU states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle

Wie bekomme ich nur diese Zeile angezeigt, gibt es dafür einen Befehl?

Würde gerne dies in meinen Script wie folgt schreiben:
MeineCPUinfo=`BEFEHL`


Danke für Eure Hilfe Dany
 
Original geschrieben von Dany
ich würde gerne die Zeile mit den CPU Informationen von den Befehl top in einen Shell Skript verwenden.
Zeile: CPU states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
Wie bekomme ich nur diese Zeile angezeigt, gibt es dafür einen Befehl?

Würde gerne dies in meinen Script wie folgt schreiben:
MeineCPUinfo=`BEFEHL`

Eigentlich wollte ich Dir "sysctl vm.loadavg" nennen, was dann aber doch nicht das ist was Du suchst. Ich wüsste nun keinen Weg die Zeile aus "top" auszuschneiden und in Dein Script zu übegeben. Aber evtl. sollte es auch hierfür etwas mit sysctl zu finden sein. Siehe "man sysctl" und "man sysctl.conf".

Ansonsten kannst Du, wenn es Dir darum geht Infos über Deine Box in ein Script zu bekommen Dir noch folgende Geschichten ansehen:
iostat, systat, fstat, pstat,vmstat

Ja, ich weiss, ist alles nicht das was Du exakt suchst, aber immerhin bekommst Du damit auch viele Infos über Dein System ;-).
 
Extreme dirty hack:
top -d2 -b -s1 0 | head -11 | tail -1

Die Ausgabe dauert 1 sekunde, da top scheinbar mind. 2 mal laufen muss um die Prozente zu berechnen.

Etwas ungenauer, aber schneller:
vmstat | tail -1 | awk '{print "User:"$17,"System:"$18,"Idle:"$19}'
 
mein Vorschlag waere:

top -d 2 |col -b |grep states

bzw.

top -d 2 |grep states

gibt Output:

CPU states: 0.5% user, 0.0% nice, 0.0% system, 0.0% interrupt, 99.5% idle
 
Zuletzt bearbeitet:
Und was machst du, wenn ein Prozess namens "states" läuft?

Das hier sollte sauberer sein: top -d 2|grep "^CPU states:"
 
Zurück
Oben