Re: CPU % Idle per Script ermitteln?

From: Patrick Hess <patrick-hess(at)freenet.de>
Date: Thu, 15 Jan 2004 19:41:17 +0100

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 message
Received on Thu 15 Jan 2004 - 19:44:15 CET

search this site