RAMdisk unter Windows - nicht die Religion, die technische Seite bitte

yourgreatestfear

Grand Admiral Special
Mitglied seit
17.08.2003
Beiträge
5.193
Renomée
142
Standort
Dresden - Germany
Anlass für diesen Thread sind einige Fragen die ich in einer Diskussion
http://www.planet3dnow.de/vbulletin/showthread.php?t=237180
erhalten habe. Konnt mich nicht richtig entscheiden ob hierher oder ins Treiberforum, da ja nicht nur die Treiber das Thema sein sollen, sondern auch die Verwendung mit verschieden Anwendungen. Entscheidet ihr se da!

Im Grunde genommen würde ich mal gerne die rein (software-)technischen Probleme und Lösungen hier sehen wollen und zeigen, da jedes Suchergebniss hier und in Google mich zu Diskussionen über den Sinn und Unsinn von RAMdisks führt, nicht aber zu dem Wie.
Also bitte keine Kommentare wie "Das bringt doch nichts die Pagefile in ner RAMdisk zu haben". Sowas find ich zuhauf im Netz, meist von Leuten die nie RAMdisks auf ihrem PC hatten. Wer es so laufen hat, weiss schon wieso.


Dann will ich auch selbst gleich mein Wissen preisgeben (wie gewünscht).

1. RAMdisks sind emulierte Laufwerke im RAM. Es wird im Arbeitsspeicher Platz reserviert, in welchem ein Laufwerk mit der Funktionalität einer HDD eingerichtet ist. Vorteil davon sind extrem schnelles Zugreifen, Schreiben und Lesen.

2. RAMdisks erfordern Treiber, welche es sowohl kostenlos als auch als Shareware gibt. Wobei die kostenlosen zum großen Teil auf bestimmte MBgrößen beschränkt sind. Im Falle des MStreiber 31MB. Nach oben hin sind mir Grenzen wie 2-4GB bekannt.

3. Da es RAM ist der da genutzt wird, sollte jedem klar sein, dass die Daten mit einem Neustart futsch sind. Gute Treiber bieten hierfür Funktionen die vor dem Herunterfahren die Daten sichern und beim Starten wieder zurückschreiben.

4. Die sinnvollsten Anwendungen einer RAMdisk liegen darin temporäre Ordner/dateien, Programme welche häufig geladen werden oder viel auf der Platte arbeiten oder gar die Pagefile zu beherbergen. Gleich an dieser Stelle will ich davon abraten den WindowsTEMPordner in eine RAMdisk zu legen. Viele Installationen erfordern das Daten darin über einen Neustart hinaus darin erhalten bleiben (mit einem guten Treiber trotzdem möglich)

Mir bekannte Treiber:
-der hauseigene MStreiber (max 31MB) für W2k
http://support.microsoft.com/default.aspx?scid=kb;de;257405
bei XP sollte er auf der disk sein
(kostenlos)

- AR-Soft
http://www.arsoft-online.de/index.php?option=com_docman&Itemid=30
leider kein Support mehr und nicht ganz so problemlos wie in dem doch recht guten How-to
http://www.xp-tipps-tricks.de/page-107.html
(kostenlos)

- Superspeed
http://www.superspeed.com/desktop/ramdisk.php
(shareware)

- TweakXP bringt in ihrem "Tuningprogramm" einen aufgeschraubten MStreiber mit (max64MB), welcher sich wohl recht einfach mit dem Programm einrichten und konfigurieren lässt.
(Shareware)

Nun paar persönliche Anmerkungen zu den ersten 3 Treibern, hatte alle drei mal laufen.

Der Microsoft hat null Funktionen und ist nur für kleine Dinge wie zB den Browsercache zu gebrauchen. Dafür aber keine Probleme bei der Einbindung gehabt.

Der AR-Softtreiber hat seine Obergrenze soweit mir bekannt ist bei 2GB und ist recht einfach zu nutzen. Ein Option zur Sicherung der RAMdisk bei Herunterfahren gibt es auch. Die Tücke liegt in der Installation, wobei ich drei völlig unterschiedliche Erfahrungen machen durfte.
-Bei einem windowsXPrechner mit einem FAT32-Laufwerk kann man einfach oben erwähntes How-to nutzen und es funktionierte wunderbar.
-Dann wollt ich den AR-Soft auf einem XP-Rechner, welcher ausschliesslich NTFS-Laufwerke und kein Floppy hatte installieren. Das laufwerk war zwar sichtbar im Explorer und der Treiber ohne Fehlerangabe installiert. Doch der Zugriff gelang erst, nachdem ich unter
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\FastFat\ Start
den
REG_DWORD von 4 auf 1 änderte und im Treiber den zweiten operation mode "Emulate a local hard disk gewählt hatte.
- ein weiterer XP-Rechner auch ohne FAT-Laufwerke gibt mir noch heute Rätsel auf. Das Setup berichtet mir zwar von einem Erfolg nach der Installation und auch sonst hab ich die Änderungen vorgenommen. Doch im Gerätemanager wird mir bei dem Gerät ein Code 31 angezeigt, also der Treiber wurde nicht geladen.

Meine Lösung (wenn man das so nennen kann) war dann der Umstieg auf die Superspeedsoftware. Kostet Geld, aber einfacher geht es mit der Version RAMdisk plus v8 kaum noch. Aber ich erspar mir eine Erläuterung der Software, will ja keine Werbung machen und wenn AR-Softs treiber funktioniert, brauch man den auch nicht.

Meine Einsatzgebiete:
Bei dem AR-Soft- und dem Superspeedtreiber ist es kein Problem die Pagefile mit windowseigenen Mitteln (Arbeitsplatz-Eigenschaften-usw) auf das Laufwerk zu legen. Allerdings sollte man entweder 2GB besitzen oder eine genaue Vorstellung vom Ressourcenhunger seiner Anwendungen haben. Denn große RAMdisk ist halt kleinerer RAM fürs System. Windows hat Spaß am auslagern, selbst wenn man 3GB RAM hat lagert es munter drauf los. Mit der Pagefile im RAM gehen vor allem das Wechseln zws großen Anwendungen sehr fix und auch sonst ist die Platte sehr ruhig geworden.
Auch mit dem Laden/Installieren von Anwendungen in die RAMdisk hab ich gute Erfahrungen gemacht, dies lohnt sich aber nur bei Programmen die ständig mit der HDD arbeiten, was bei so einigen Spielen und Grafikprogrammen der Fall ist.
Sowohl der Browsercache wie auch der Winrarcache liegen bei mir im RAMlaufwerk und machen die beiden Anwendungen sehr fix. Allerdings sollte man beachten das für das entpacken großer Dateien die RAMdisk zu klein sein könnte. Also net über Fehlermeldungen dann wundern.

Bevor ihr überhaupt daran denkt jez sowas zu probieren: Ich übernehm keine Haftung (war ja klar) und ihr solltet euch im klaren sein das ihr mit sowas auch viel Schaden anrichten könnt. Also Sichern oder am besten nen extra Testrechner vorher nehmen^^, wenn ihr unsicher seid.
Hoffe bis hierher konnt ich einige Fragen beantworten.
Nun seid ihr dran. Ich will Problemlösungen, neue Treiber (kostenlos wenns geht) und neue Ideen/Umsetzungen von RAMdisks. Was ich wie die Faust im Magen brauch sind Benchmarks von Framraten, denn RAMdisks beschleunigen in keinstem Fall sowas, und eure neuesten Ladezeiten von Programmen, denn ich weiss das RAMdisks schnell sind. Ausnahme wäre das ihr ne außergewöhnliche Art der Verwendung damit belegen wollt.

PS: Hab ich schon erwähnt das man viel RAM brauch dafür? *lol*
PS2: Wer ne Lösung für mein Treiberproblem mit AR-Soft findet, gewinnt so viele Mercedes S-Klassen wie er tragen kann.
 
Sauber beschrieben und die Vorteile sowie die möglichen Probleme geschildert *great*

Solche Beiträge machen Spass beim Lesen!
 
Hallo!

[Dieser Post stammt aus dem Cache einer 128 MB großen RAM-Disk] ;)

Habe zuerst die MS-Lösung probiert, jedoch reicht diese nicht für mein Firefox-Directory.

Daher habe ich das RAM-Disk Tool von AR-Soft installiert (Win2000, SP3) und es hat auf Anhieb funktioniert!.

Ein Neustart war notwendig, jedoch wurde mir danach das Laufwerk einwandfrei angezeigt.
(Option "Emulate a RAM-Disk").

Im Gerätemanager konnte ich den Treiber ausmachen, dort war dieser 2x aufgelistet -> einmal normal, ohne Ausrufezeichen o.Ä. einmal mit "!".

Hier -> Link
gibts übrigens eine Anleitung zum Umstellen des Firefox auf einen anderen Profilordner (ganz unten im Thread).

Es ist sehr empfehlenswert, da die Websites sehr viel schneller laden, insbesondere große JPEGS.

Nicht zu vergessen ist dabei allerdings, dass alle Daten entweder stündlich oder beim Herunterfahren des Rechners, gesichert werden müssen! (z.B. auf ein Netzlaufwerk).


Gruß,
MFR2000
 
größtes problem sind einschränkungen bei der kapazität und der preis.

experimente mit pci-karten gab es ja schon früher, produkte wie die solid state disk sind im prinzip auch nur ramdisks, siehe

http://www.cenatek.com/product_rocketdrive.cfm

hat sich aufgrund der begrenzten kapazität, dem hohen preis und der beschränkungen des pci-bus nie durchgesetzt.

ein ähnliches prinzip hat vor kurzem gigabyte aufgegriffen, siehe

http://www.computerbase.de/news/har.../2005/mai/gigabyte_solid_state_storage-karte/

u.a. bastelt auch samsung derzeit an ata-kompatiblen festplatten, die mit nand-flashspeicher bestückt sind, einmal "pur" und einmal als hybrid-entwicklung, siehe

http://www.heise.de/newsticker/meldung/59792

http://www.heise.de/newsticker/meldung/59015
 
beinahe perfekt. Genau das hab ich mir gerade gedacht dass man eigentlich 2 verschiedene Speicherbereiche braucht. Einmal richtig schnellen RAM (von mir aus 250MHz) und einmal richtig viel RAM bei dem sogar DDR266 ausreicht, bloss macht im Preis ja kaum einen Unterschied zu DDR333 oder gar DDR400.
Aber warum zum Teufel baut GigaByte diese traumhafte Idee auf PCI Basis und nicht PCI Express ???
Das wär doch ein paradebeispiel für ein PCIe 4x Slot oder gar mehr. Der PCI Bus bremst die gute RAMdisk ja aufs schändlichste aus und alles was übrig bleibt sind die guten Zugriffszeiten.
Also man sollte ja wirklich denken dass solche Firmen wissen was sie tun, aber das kann ich nun wirklich nicht nach vollziehn.

@yourgreatestfan
danke für die Mühe, beim nächsten Desktop-Kauf wird dein Thread gewiss wieder hervorgekramt.
 
Gleich an dieser Stelle will ich davon abraten den WindowsTEMPordner in eine RAMdisk zu legen. Viele Installationen erfordern das Daten darin über einen Neustart hinaus darin erhalten bleiben (mit einem guten Treiber trotzdem möglich)
das kann ich nicht so unterschreiben, alle Daten im Tempordner kann man gefahrlos löschen und man sollte es auch von Zeit zu Zeit tun um Festplattenkapazität freizugeben
meine Wenigkeit macht soetwas gern mit Batchdateien beim Start oder Herunterfahren
die meisten Programme legen sich sowieso eher eine neue Datei an, anstelle die alten zu benutzen

MfG Micha
 
1. yourgreatestfear nicht -fan *lol*

2. echte Solid-State-Lösungen sind zu teuer und die Bandbreiten von Slotkarten kommen nicht an die normalen Speicherbandbreiten heran. Außerdem gehört das dann in die Hardwareecke.

Thema des Threads sollte eigentlich die Onboardlösung sein, die mit Software realisierbar ist und eher dem schlechten Speichermanagment von Windows und vielen Anwendungen entgegenwirken soll. Ziel ist es weg von den Flaschenhälsen wie ATA oder PCI zu kommen.

Und solange nichteinmal die 3/4GB möglichem Arbeitspeicher ausgenutzt werden, brauch man sich nicht ehrlich Gedanken um RAM auf einer Steckkarte zu machen.

Also experimentiert und schreibt Windows um :). Es gibt bestimmt noch einige Anwendungsideen für "lowcost"-RAMdisks die interessant sein könnten.

edit: Programminstallationen, welche zwischendurch Neustarts erfordern, nutzen den Windowstempordner über den Neustart hinweg. Mir sind ein/zwei selbst begegnet. Ansonsten sprichst du vom zweiten großen Nutzen Browsercaches und tempordner im RAMdrive zu haben. Sie werden automatisch geleert beim Neustart.
 
Ich hätte noch eine RamDisk für DOS (EMS und XMS Speicher)
mit bis zu 2GB und natürlich Freeware.

RamDisk v1.9h.rar (72Kb)
 
1. yourgreatestfear nicht -fan *lol*
ups....naja, ich glaub du führst dich hier einfach zu höflich auf ;)

Und solange nichteinmal die 3/4GB möglichem Arbeitspeicher ausgenutzt werden, brauch man sich nicht ehrlich Gedanken um RAM auf einer Steckkarte zu machen.
doch und zwar aus 2 Gründen:
1: Für die Steckkarte kann man günstigen Value DDR 400 Ram benutzen wogegen man als Arbeitsspeicher vielleicht DDR500 oder mehr oder LowLatency Ram verwenden möchte, wogegen das für die Ramdisk ja Perle vor die Säue geworfen wäre.
2: Mit 2GB ist das System teilweise schon langsamer als mit 1GB (wie man hier sieht) , mit 3 oder 4GB bestimmt nochmal um ein gutes Stück (ob man das nun in nicht-Benchmarks merkt ist wieder was anderes), da ich 2GB ein bisschen wenig finde als Arbeitsspeicher plus PageFile. Mein PageFile allein war teilweise schon fast 2GB groß.

Und die Diskussion ob Temp Ordner in RamDisk oder nicht würde damit auch perfekt gelöst werden. Denn die Karte von Gigabyte hat einen Akku für 16 Stunden womit ein Neustart nach einer Programminstallation kein Problem mehr ist, aber der Temp Ordner dennoch immer mal wieder automatisch geleert wird sobald man mal länger als 16 Stunden den PC aus hat. (Ok, kommt je nachdem sehr selten vor, vielleicht wenn die CPU oder Mainboard am Samstag Abend abraucht ;D )

Aber der große Nachteil ist eben der stark limitierende PCI Bus, vorallem kann ich mir vorstellen dass dann andere PCI Karten wie TV oder Sound ins stottern kommen.


Ich weiss ist nicht das Thema, aber ein sehr interessanter Einwurf von Cruger.
 
Da jetzt schon das schnellere Surfen erwähnt wurde, habe ich mal eine Frage:
Ich benutze Opera und in diesem gibt es eine Einstellung welche den Ram-Cache einstellt. Ich hab jetzt diesen auf 60 MB (vielleicht kann man es in einer ini noch höher einstellen) und den Festplatten Cache aus. Das sollte doch den gleiche Effekt haben wie ein Ram-Drive, nur das eben beim Beenden des Browser der Cache gelöscht ist und nicht der komplette Opera im Ram liegt, sondern nur sein Cache, oder?
 
Wie schon an anderer Stelle schon erwähnt, kann es durchaus langsamer werden mit 2GB und mehr. Doch nur wenn man Windows den Speicher als Arbeitsspeicher verwalten lässt. In der boot.ini kann man Windoof jedoch schon jez sagen nur einen bestimmten Teil als Arbeitsspeicher zu nutzen. Der Rest steht dann frei für andere Aufgaben. Gefragt sind natürlich fixe Umsetzungen für den Rest.

Von Opera hab ich ja mal gar keinen Plan, aber interessant das es die Option den Cache im RAM anzulegen da schon gibt. Lässt sich denn der Plattencache deaktivieren? Wenn ja, einfach mal testen. Kann mir vostellen das der Inhalt beim Beenden von Opera doch noch zurückgeschrieben wird, ist aber reine Vermutung.
 
...(bzgl. der RAM-Karte)
Aber der große Nachteil ist eben der stark limitierende PCI Bus, vorallem kann ich mir vorstellen dass dann andere PCI Karten wie TV oder Sound ins stottern kommen.
...
Zwar etwas OT, aber: Wie schon in einem passenden Thread geklärt wurde, ist die PCI-Anbindung nur rein für die Spannungsversorgung (und die mechanische Stabilisierung *buck* ), die Daten gehen über ein SATA-Kabel. Damit wird die Karte wie eine normale SATA-Platte erkannt und behandelt, außerdem ist die Bandbreite höher, wenn auch nicht so toll wie sie sein könnte (150MB/s pro Karte statt nutzbarer 125 bei PCI und muß nicht geteilt werden). Aber es kommt ja sowieso mehr auf die Zugriffszeiten an, also schonmal weit besser als jede Raptor ;).

Aber ne richtige RAM-Disk, d.h. vom System-RAM abgezapft, ist bandbreitentechnisch da ja nochmal Welten drüber (3,2GB/s bei 64bit DDR400, auch wenn man davon maximal die Hälfte nutzen kann, da beim Schreiben und Lesen ja gleichzeitig in den respektive aus dem "richtigen" RAM geladen/gelesen wird).
 
Wie schon in einem passenden Thread geklärt wurde, ist die PCI-Anbindung nur rein für die Spannungsversorgung (und die mechanische Stabilisierung *buck* ), die Daten gehen über ein SATA-Kabel.
achso, na dann steht einem Kauf ja nichts mehr im Wege, ausser vielleicht die Verfügbarkeit ;D
Allerdings hätten sie da ja gleich ein SATA 2 Interface draus machen können, schade, aber kommt ja vielleicht noch.
...In der boot.ini kann man Windoof jedoch schon jez sagen nur einen bestimmten Teil als Arbeitsspeicher zu nutzen.
wie denn das?
 
Zuletzt bearbeitet:
Ich stelle mir gerade vor was passieren würde wenn man das ganze theoretisch mit dem L1 oder L2 Cache machen könnte, die ja um einiges (Untertreibung !! ) schneller als der schnelle Ram sind.

Leider ist der Cache in der CPU eingebaut, sehr klein und höllisch teuer ^^.
 
Geht nicht, den L1 bzw. L2 - Cache kannst du nicht adressieren ;-)

André
 
@yourgreatestfear:
wie hast du es geschafft, das pagefile auf die RamDisk zu legen? Das Pagefile wird ja normalerweise erzeugt, bevor der Treiber die RamDisk erzeugen kann, oder sehe ich das falsch? Dann sollte Windows doch meckern, dass es kein Pagefile auf einem nicht vorhandenen Laufwerk erzeugen kann. Gibt es da einen Trick?
 
Klingt sehr interessant die Pagefile direkt auf ne Ramdisk zu bannen. Aber selbst wenn ich ein 1GB Ram habe, müsste ich im Normalfall ca. 768MB für den virtuellen Arbeitsspeicher reservieren. Oder reicht bei dieser Methode nur 300-400MB?
 
Hindena wrote:
Das Pagefile wird ja normalerweise erzeugt, bevor der Treiber die RamDisk erzeugen kann, oder sehe ich das falsch? Dann sollte Windows doch meckern, dass es kein Pagefile auf einem nicht vorhandenen Laufwerk erzeugen kann. Gibt es da einen Trick?

RAMdisks werden üblicherweise wie normale Plattenlaufwerke initialisiert und auch gehandelt. Für Windows selbst ist es nicht ersichtlich ob es nun eine klassische Festplatte oder doch nur der RAM ist. Zudem erstellt Windows automatisch die Auslagerungsdatei wie vorgegeben falls die Datei nicht vorhanden ist beim Laden des OS. Bei schlechten Ramdisktreibern erstellt Windoof also jedesmal die Pagefile nach den Registryvorgaben neu, bei Treibern mit Rücksicherung wird die Sicherung bei initilisierung hineingeschrieben. Mit dem MStreiber hab ich es noch nicht versucht, aber beim ARsoft und beim Superspeed gab es keine Probleme die Pagefile hineinzulegen.
Ein schöner Nebeneffekt wenn man ohne Rücksicherung arbeitet ist das die pagefile nie fragmentiert ist beim OSstart. Dies kann man zwar auch durch einen Registryeintrag lösen, doch dann brauch Windows ewig zum Herunterfahren.

Die 768MB pagefile bei 1GB Ram sind ein grober Richtwert der sich mal in den Köpfen festgesetzt hat. Tatsächlich ist die benötigte Größe von den Programmen abhängig welche du laufen lässt. Windows allein lebt auch ohne pagefile. Das heisst, wer nur minitools und 0815 Officeprogs nutzt wird locker mit weniger auskommen. Doch wer Videobearbeitung oder mit Grafikberechnung seinen PC quält wird höchstwahrscheinlich mehr brauchen. Auch spielt hier das schlechte Speichermanagment von Windows eine Rolle. Wenn man zwischen vielen verschiedenen speicherintensiven Tasks hin und her wechselt, kommt es auch schonmal vor das sich Windows trotz genügend freien Speichers verfranzt. Für einen Spielerechner bei dem man auch mal mitten im Spiel auf den Desktop wechseln will um mal fix mails zu checken etc. sollte man dann schon mehr als 1GB RAM insgesamt haben um in den Ram auszulagern. Wie erwähnt arbeite ich mit 2GB und bin noch nicht auf derartige Probleme gstoßen beim Zocken oder ähnlichem. Deswegen heisst es testen, testen und nochmals testen. WindowsXP stürzt bei Speichermangel nicht sofort ab, wie es so mancher Vorgänger noch tat. XP bringt eine nette Fehlermeldung das kein Speicher mehr da ist und beendet den Task einfach.
Die Pagefile ist schon eine etwas spezieller Art die Ramdisk zu nutzen. Meist reicht es schon den Cacheordner der Speicherintensiven Programme in die Ramdisk zu verlagern um ohne große Verzögerungen zu arbeiten.
 
Zuletzt bearbeitet:
Zurück
Oben Unten