PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RAM Benchmark Tool?



Joy
10.03.04, 13:26
Hallo!
Kennt jemand ein Tool, mit dem man seinen Arbeitsspeicher benchmarken kann?
Ich habe ein nforce2 Board mit DDR RAM, und es ist Dual-Channel-fähig. Aus monetären Gründen (:)) reichte es beim Kauf allerdings nur für einen RAM-Riegel, und ich überlege mir gerade einen zweiten anzuschaffen um Dual-Channel nutzen zu können.
Theoretisch müsste dann ja alles, was in den RAM schreibt oder daraus liest doppelt so schnell gehen, oder?

Wäre lieb, wenn mir jemand ein solches Tool nennen könnte. Habe hier im Forum und auch bei Google nichts gefunden.
Ich möchte den Speicher auch nicht testen, sondern die Geschwindigkeit messen. Also nicht Memtest86 empfehlen :)

Danke im Voraus!!
Joy

taylor
10.03.04, 13:29
Original geschrieben von Joy
Ich möchte den Speicher auch nicht testen, sondern die Geschwindigkeit messen. Also nicht Memtest86 empfehlen :)

Mein Memtest86 zeigt den Durchsatz an. Deiner nicht?

Joy
10.03.04, 14:05
Original geschrieben von taylor
Mein Memtest86 zeigt den Durchsatz an. Deiner nicht?
Doch, konstant 638 Mb/s.
Noch hab ich ja keinen zweiten Riegel, also vielleicht sinds dann ja mit dem 1276 Mb/s.

Aber was sagt denn diese Zahl aus?
Ist das beim Lesen, oder beim Schreiben?
Und kann man nicht auch die Zugriffszeit messen?

Alternativ könnte ich auch eine Ramdisk erzeugen, und dann damit ein bisschen rumspielen. Nur so ein "echtes" Benchmark-Tool wäre mir lieber. Sowas wie hdparm -Tt, nur noch detaillierter :)

Joy

(P.S.: Wenn es so ein Programm nicht gibt werd ichs auch überleben :))

Kentar
11.03.04, 09:02
du hast bei einem Dual-Channel-Board nicht gleich den doppelten Durchsatz, bei einem weiteren Speicherriegel. Die Geschwindigkeit ist derzeit nur minimal höher (gemessen an der Gesamtgeschwindigkeit).
Mir erscheint aber 638MB/s extrem wenig, selbst wenn es sich nur um einen pc266 Riegel handeln sollte.

Basti_litho
11.03.04, 09:07
Hol dir mal "stream" von der Linux-Benchmark-Suite:
http://lbs.sourceforge.net/

Joy
11.03.04, 14:21
Hallo! Danke für die Tips.
Ich hab stream mal ausprobiert, hier die Ausgaben:

joy@targos:~$ ./stream_l

usage: ./stream_l <core_frequency(MHz)> <iterations>
joy@targos:~$ ./stream_l 166 10
-------------------------------------------------------------
This system uses 8 bytes per DOUBLE PRECISION word.
-------------------------------------------------------------
Array size = 999936, Offset = 0
Total memory required = 24.9 MB.
Each test is run 10 times, but only
the *best* time for each is used.
-------------------------------------------------------------
Your clock granularity/precision appears to be 1 microseconds.
Function Rate (MB/s) RMS time Min time Max time
Copy: 108.6193 0.1482 0.1473 0.1506
Scale: 104.6727 0.1576 0.1528 0.1645
Add: 102.9200 0.2397 0.2332 0.2441
Triad: 115.6323 0.2109 0.2075 0.2144
joy@targos:~$


Stream braucht die Argumente core_frequency und iterations.
Was bedeuten die? Ist core_frequency mein FSB?
Ich habe PC2700 (333), also ist der FSB 166, oder?

@Kentar: Warum habe ich denn nicht den doppelten Durchsatz? Dual Channel bedeutet doch, dass der Speicher über 2 getrennte Kanäle angebunden ist. Mit einem Riegel benutze ich nur einen, mit 2 Riegeln aber beide, also müsste doch jeder Zugriff auf den RAM parallelisiert stattfinden. Oder irr ich mich da?
Hm, bin jetzt etwas verwirrt.

Joy

Basti_litho
11.03.04, 14:43
also ich glaub "stream" braucht die CPU MHz - da ~100MB/s beim speicher nicht sein kann. Vor allem auch wegen der bezeichnung: "core"...

Basti_litho
11.03.04, 14:47
hier kannst dir natürlich noch vergleiche anschauen:

http://www.cs.virginia.edu/stream/peecee/Bandwidth.html

Da wird auch ersichtlich das damit die CPU MHz Zahl gemeint ist.

Joy
11.03.04, 14:57
Okay, hab es mal mit 1200 laufen lassen:

joy@targos:~$ ./stream_l 1200 10
-------------------------------------------------------------
This system uses 8 bytes per DOUBLE PRECISION word.
-------------------------------------------------------------
Array size = 999936, Offset = 0
Total memory required = 24.9 MB.
Each test is run 10 times, but only
the *best* time for each is used.
-------------------------------------------------------------
Your clock granularity/precision appears to be 1 microseconds.
Function Rate (MB/s) RMS time Min time Max time
Copy: 754.4335 0.0218 0.0212 0.0228
Scale: 755.7674 0.0225 0.0212 0.0267
Add: 735.8607 0.0334 0.0326 0.0341
Triad: 785.7505 0.0333 0.0305 0.0479
joy@targos:~$

Sieht schon besser aus.
Da fällt mir ein, dass mein FSB ja 100 MHz ist, nicht 166 ...
Damals ist mein Mainboard in die Knie gegangen, ich hatte aber wenig Geld (siehe weiter oben im Thread) und konnte mir deshalb nur ein neues Board mit RAM leisten. Hab meinen alten Athlon Thunderbird wieder eingesetzt, und der verträgt ja nur 100 MHz.
Muss mal im Bios nachschauen...

Joy

P.S.: @Kentar: Die 638 MB/s waren bei Memtest86, vielleicht kannst du das ja auch mal laufen lassen als Vergleich.

Basti_litho
12.03.04, 10:17
ach nochwas, wenn du's selbst kompilierst brauchst du keine Angaben mehr zu machen. Ich weiß nicht was ich davon halten soll (wenn ich die Angabe machen muss) - da das Ergebenis ja sehr schwankt.

Hol dir mal vom ftp die "stream_wall.c" und die "stream_d.c" und kompilier es so:

"gcc -0 stream_d.c second_wall.c -o stream_d -lm"

oder benutzt das vorkompilierte "stream" vom ftp (weiß auch nicht genau wo der Unterschied zwischen dem vorkompilierem aus der FAQ und dem dort ist).

Sonny
10.05.04, 16:46
wäre ein:
time cp grossedatei /dev/null nicht ein guter Benchmark?
=======================================
./stream_d (das ist aber nicht mein p4tse sondern eine ältere Kiste)
-------------------------------------------------------------
This system uses 8 bytes per DOUBLE PRECISION word.
-------------------------------------------------------------
Array size = 2000000, Offset = 0
Total memory required = 45.8 MB.
Each test is run 10 times, but only
the *best* time for each is used.
-------------------------------------------------------------
Your clock granularity/precision appears to be 1 microseconds.
Each test below will take on the order of 31378 microseconds.
(= 31378 clock ticks)
Increase the size of the arrays if this shows that
you are not getting at least 20 clock ticks per test.
-------------------------------------------------------------
WARNING -- The above is only a rough guideline.
For best results, please be sure you know the
precision of your system timer.
-------------------------------------------------------------
Function Rate (MB/s) RMS time Min time Max time
Copy: 905.4659 0.0366 0.0353 0.0413
Scale: 906.1809 0.0368 0.0353 0.0390
Add: 1062.3684 0.0460 0.0452 0.0484
Triad: 1090.4606 0.0460 0.0440 0.0529

Joy
10.05.04, 19:06
Hallo Sonny,

wäre ein:
time cp grossedatei /dev/null nicht ein guter Benchmark?
Ich glaube kaum, denn da ist die Lese-Rate der Festplatte eindeutig der Flaschenhals.

Ich könnte mir aber vorstellen, dass das hier funktionieren könnte:
time cat /mnt/ramdisk/<testdatei>

Liebe Grüße,
Joy

Sonny
11.05.04, 05:40
du hast bei einem Dual-Channel-Board nicht gleich den doppelten Durchsatz, bei einem weiteren Speicherriegel. Die Geschwindigkeit ist derzeit nur minimal höher (gemessen an der Gesamtgeschwindigkeit).
Mir erscheint aber 638MB/s extrem wenig, selbst wenn es sich nur um einen pc266 Riegel handeln sollte.

ohne habe ich 1600 Mbis/s und mit dual-channel 2400 Mbit/s
(gemessen mit dem suse memtest)

Sonny
11.05.04, 05:46
Hallo Sonny,
cp grosse datei /dev/null
Ich glaube kaum, denn da ist die Lese-Rate der Festplatte eindeutig der Flaschenhals.

Liebe Grüße,
Joy

wobei die grossedatei bei der zweiten Kopie nicht von der Platte kommt sondern aus dem ram-cache

Joy
11.05.04, 11:04
Hallo Sonny,

wobei die grossedatei bei der zweiten Kopie nicht von der Platte kommt sondern aus dem ram-cache
Ja, dann funktionierts so!

ohne habe ich 1600 Mbis/s und mit dual-channel 2400 Mbit/s (gemessen mit dem suse memtest)
So hab ich das auch vermutet ... kann mir leider aufgrund Geldmangels keinen zweiten 512 MiB (;)) Riegel leisten ... Aber das kommt noch. Wenn die RAM-Preise endlich mal wieder fallen würden.

Grüße,
Joy