PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benchmark als Shellscript



dakalle
20.11.07, 15:50
Hallo Linuxgemeinde,

habe folgendes Projekt vor mir:

Es soll ein Shellscript "programmiert" werden, das die CPU so ziemlich auslastet. Diesem Shellscript soll per Parameterübergabe 2 Zeiten übergeben werden können, eine für die Dauer des Auslastungsprozesses und eine für die Dauer der Pause zwischen 2 Auslastungsprozessen.

Für die Auslastung habe ich mir eine einfache Potenzierung eines kleinen float-Wertes in einer Schleife gedacht, was die Zeitsteuerung angeht, habe ich keine Ahnung...

Kann mir jm einen/mehrere Tipp(s) geben? Oder wenn jemand kurz Bock hat, die (wahrscheinlich) < 10 Zeilen zu tippen, hätte ich auch nichts dagegen... ;-)

Danke euch schonmal im Voraus.


Grüße,

DaKalle

zyrusthc
20.11.07, 16:19
Sowas ?

cpubench.sh

#!/bin/sh
# cpubench.sh <wie lange sec.> <Pause dazwischen sec.>
# bsp. ./cpubench.sh 20 5

dd if=/dev/urandom of=/dev/null&
PID=$(echo $!)
sleep $1
kill -TERM $PID

sleep $2

dd if=/dev/urandom of=/dev/null&
PID=$(echo $!)
sleep $1
kill -TERM $PID

Greeez Oli

dakalle
20.11.07, 16:33
Erstmal danke für die schnelle Antwort!!!

Was ist dieses urandom für ein Verzeichnis? Bekomme deswegen eine Fehlermeldung.

Ich benutze Kubuntu...

zyrusthc
20.11.07, 16:39
Was ist dieses urandom für ein Verzeichnis? Bekomme deswegen eine Fehlermeldung.

/dev/urandom, das eine Hash-Funktion verwendet, um mehr pseudo-zufällige Bits zu erzeugen.
aus http://de.wikipedia.org/wiki//dev/random !

Fehlermeldungen sind hier immer im genauen Wortlaut , unter Verwendung der CODE-Tags (http://www.linuxforen.de/forums/showthread.php?t=229647) des Forums zu posten.


Greeez Oli

dakalle
21.11.07, 12:08
Wäre nett, wenn du mir noch Zeile 6 und 8 erläutern könntest.

Also

PID=$(echo $!) und
kill -TERM $PID.

Denn ich muss es ja auch verstehen.


Grüße,

DaKalle

echo
21.11.07, 13:35
obere zeile sucht den prozess, die darunter beendet diesen

zyrusthc
21.11.07, 15:11
PID=$(echo $!)
Schreibt die ProzessID vom zuvor in den Hintergrund geschickten Befehl in die Variable $PID!

kill -TERM $PID
Schickt das Signal TERM an den Prozess der PID!

Greeez Oli