Hallo,
Marc Santhoff schrieb:
> Am Do, 2004-01-15 um 15.21 schrieb Bernd Walter:
> > Ich suche gerade eine Möglichkeit die CPU Nutzung per
> > Shell-Script zu ermitteln.
>
> Vielleicht hilft dir
>
> $ top -btd1 | awk ...
Nein, so kann das nicht funktionieren, da nur ein Display
geschrieben wird. top zeigt die CPU-Werte aber erst nach dem
zweiten Display:
top -btd2
würde also funktionieren. Aber...
-stime Set the delay between screen updates to time
seconds. The default delay between updates is 2 seconds.
Zwei Sekunden ist ja für Bernd nun wieder zu lange. Gut, man kann
auch mit
top -btd2s1
auf eine Sekunde runter, aber auch das ist für Bernd wohl
offensichtlich zu lange.
Außerdem verfälscht top durch seine eigene CPU-Nutzung kurz nach dem
Aufruf den Idle-Wert. Hier auf einem nicht groß beschäftigten PIII
450 beträgt der Idle-Wert beim Aufruf von top ca. 85%. Läßt man top
dann zwei, drei Sekunden laufen, ist die Kiste wieder 99% idle.
Ich wäre auch an einer Lösung dieses Problems interessiert.
"In Echtzeit" scheint es CPU-Werte aber nicht zu geben. Jedenfalls
muß ich mich bisher auch noch mit
read x x PUSER x PNICE x PSYS x PINT x PIDLE x << -END-
$(top -s 1 -bd 2 0 | grep "CPU states:")
-END-
echo CPU: User $PUSER, System $PSYS, Interrupt $PINT, \
Nice $PNICE, Idle $PIDLE
begnügen, um wenigstens an die einigermaßen realen Werte zu kommen.
Wenn man den sleep-Timer auf 3 oder 4 erhöht, sind die Werte noch
realistischer, aber das dauert mir dann wieder zu lange.
Gruß,
Patrick
-- Scanner unter FreeBSD: http://phess.de.vu/FreeBSD-Scanner/FreeBSD-Scanner.html To Unsubscribe: send mail to majordomo.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Thu 15 Jan 2004 - 19:44:15 CET