KeinNameFrei
Enthusiast
Achtung, sehr viel Text! Bei akutem TL;DR-Syndrom sich einfach an den letzten Absatz halten.
Hallo zusammen, ich möchte hier noch mal die immerwärende Diskussion zum Thema "Auslagerungsdatei im RAM" angehen.
Generell scheint sich bei dem Thema so gut wie niemand wirklich einig zu sein, was genau jetzt die Vorteile und die Nachteile sind, und so weit ich meine Google-Recherche einschätze, gibts den Streit schon, seitdem Windows auslagert.
Zusammengefasst, hier die landläufigen Argumente dafür:
+ Vermeidet Festplattenzugriffe beim swappen, dadurch leiserer Rechner, weniger Schreibstress (auf einer SSD), Festplatte kann sich anderen Aufgaben widmen
+ Datendurchsatz und Latenzen des Systemspeichers sind um ein vielfaches höher (Latenzen sogar millionenmal), dadurch erhält man ein flott reagierendes Betriebssystem, das sich so verhält, als gäbe es keine Auslagerungsdatei
+ Die generelle Behauptung, bei einem selbst habe es bei einem Test extrem viel gebracht, grundsätzlich ohne Beweise (vgl. Nachteile)
Und hier, die landläufigen Argumente dagegen:
- Sinnlos, man soll den RAM einfach gleich dem OS zu Verfügung stellen, dann muss es erst gar nicht auslagern (alternative Formulierung: Windows ist doch nicht so blöd und lagert aus, solange noch RAM da ist)
- Die Auslagerungsdatei ist doch dazu da, Platz bereit zu stellen, wenn der RAM zuende geht; dafür auch RAM zu nehmen, ist doch völlig im Kreis gedacht
- Man kann Windows zwingen, den RAM vollständig zu nutzen, indem man ganz einfach die Auslagerungsdatei deaktiviert
- Verwende lieber die Registry Tweaks (X, Y, Z), mit denen kann das Swapverhalten von Windows optimiert werden
- Das funktioniert doch gar nicht, da müsste die RAMDisk-Software (ein Windows-Programm) ja noch vor Windows geladen werden, das ist wie mit der Henne und dem Ei
- Eine Festplatte ist sowieso schnell genug, den Unterschied merkt man überhaupt nicht
- Wenn du ein schnelles System willst, kauf dir doch ne SSD
- Flüchtiger Speicher, wird bei jedem Neustart neu initialisiert; bedeutet, Sachen wie z.B. Kerneldumps bei Bluescreens sind nicht mehr zugänglich
- Die RAMDisk-Verwaltung erzeugt soviel CPU/Bus-Overhead, dass es alle Vorteile wieder auffrist
- Die generelle Behauptung, bei einem selbst habe es bei einem Test überhaupt nichts gebracht bzw. das System sogar verlangsamt, grundsätzlich ohne Beweise (vgl. Vorteile)
Beurteilung
Nun stellt der erfahrene Anwender fest, dass viele dieser Argumente, vor allem im Negativbereich, von Leuten abgegeben wurden, die nicht wirklich eine Ahnung haben, von was sie reden. So lassen sich zum Beispiel die erste handvoll Contra-Argumente komplett entkräften:
Zu den ersten drei: Windows lagert IMMER aus, egal wieviel RAM da ist. Selbst wenn man die Auslagerungsdatei deaktiviert, wird Windows auch weiterhin im Hintergrund die Platte bemühen - nur nicht mehr da wo der User will, sondern da wo Windows will. Vielleicht deutlich weniger, als wenn die Auslagerungsdatei explizit aktiv ist, sicher, aber Paging findet immer in gewissen Umfang statt - Windows ist nun mal so gestrickt, es kann gar nicht nicht auslagern. Außerdem läuft man in die Gefahr, dass Programme den Start verweigern oder abstürzen, die vom Programmierer explizit auf eine Auslagerungsdatei hin entwickelt wurden.
Zu Punkt vier: Viele dieser Registry-Tweaks sind so uralt, dass sie Windows XP schon gar nicht mehr verwertet; und die die dann noch übrig sind werden spätestens von Vista/W7 vollständig ignoriert (vgl. Tests zum Tunen von Vista in einer der letzten c't)
Punkt fünf: RAMDisk starten bevor Windows geladen wird ist überhaupt kein Problem.
Zu Punkt sechs fällt mir nur ein, dass der Anwender sich offenbar noch nie einen ganzen Tag lang mit Java-Anwendungen rumärgern durfte... Lotus Notes, Eclipse, Valuemation et cetera... da wird's arg düster wenn man eines davon mal für ne Weile in die Taskleiste schrumpft und ne Stunde später dann versucht es wieder hochzuholen. Merk ich jeden Tag im Büro, vor allem mit der lausigen Notebook-Festplatte.
Zu Punkt sieben: RAMDisks kosten da aber deutlich weniger, oft sogar überhaupt nichts...
Und die Pro- und Kontra-Argumente, die ohne stichhaltige Begründung oder Beweise abgeliefert werden, kann man schon von vorneherein ignorieren.
Es bleibt...
Dass die Flüchtigkeit des Speichers hier und da ungünstig sein kann, lass ich gerne so stehen, das ist ein ernsthaftes Argument - es muss jeder entscheiden, wie es einen selbst betrifft!
Damit stehen abschließend also das Argument der Systembeschleunigung durch Entlastung der Festplatte und Verwendung eines viel schnelleren Mediums gegen das Argument des erzeugten Overheads auf CPU und Speicherbus. Was ich dazu nicht gefunden habe, sind leider handfeste Beispiele und Tests. Oder gar Ideen, wie man sowas überhaupt testen kann.
Rückkehr des "High Memory"
Was scheinbar vielen noch unbekannt ist (und bis vor ein-zwei Tagen auch mir unbekannt war), ist die Tatsache, das moderne RAMDisk-Software auf den kompletten im System verbauten physikalischen Speicher zugreifen kann, selbst wenn das Betriebssystem vorher dichtmacht. 32bit Windows erkennt nur 3,3 GB von den 4 installierten? Eine RAMDisk kann die restlichen 0,7 GB verfügbar machen! Vorraussetzung natürlich, dass das BIOS Memory-Remapping bereitstellt.
Jetzt bietet sich also eine neue Überlegung an: warum nicht die Auslagerungsdatei via RAMDisk in diesen Restbereich legen? Damit hätte man die (noch zu beweisenden) Vorteile, ohne sich darüber Gedanken machen zu müssen, dass man Windows Arbeitsspeicher "wegnimmt".
Sinn oder Unsinn?
...Das ist hier die Frage! ich habe diesen Thread erstellt, um mal ein wenig Licht in die Angelegenheit "Auslagern in den RAM" zu bringen, indem ich versuche, tatsächliche Testergebnisse zu sammeln. Ich persöhnlich habe ein 32bit System, und bis zu 6 GB RAM verfügbar zum Einbau. Ich biete an, einmal selber zu testen, wie sich das auswirkt.
Bevor ich das allerdings machen kann, würde ich gerne darüber diskutieren, wie man das ganze am besten testet! Habt ihr Ideen, nützliche Links zu Artikeln zu dem Thema, oder vielleicht schon mal selbst einen (dokumentierten!) Test gemacht? Es muss doch mehr Möglichkeiten der Bewertung geben, als bloß den rein subjektiv gefühlten Unterschied. Könnte man zum Beispiel den CPU-Overhead einschätzen, in dem man ein Festplattentestprogramm mit CPU Usage Anzeige über die RAMDisk jagt... ein Speicherbandbreitenbenchmark (welches?) könnte mit bestimmten Hintergrundaktivitäten verbunden (welche?) eventuell Aussagen über die Speicherbuslast zulassen... was noch? Gibt es irgend ein Benchmark, bei dem gezielt die Performance beim Auslagern untersucht wird (z.B. Office- oder Productivity-Benchmarks)?
...Und interessiert das ganze überhaupt irgendjemand?
Hallo zusammen, ich möchte hier noch mal die immerwärende Diskussion zum Thema "Auslagerungsdatei im RAM" angehen.
Generell scheint sich bei dem Thema so gut wie niemand wirklich einig zu sein, was genau jetzt die Vorteile und die Nachteile sind, und so weit ich meine Google-Recherche einschätze, gibts den Streit schon, seitdem Windows auslagert.
Zusammengefasst, hier die landläufigen Argumente dafür:
+ Vermeidet Festplattenzugriffe beim swappen, dadurch leiserer Rechner, weniger Schreibstress (auf einer SSD), Festplatte kann sich anderen Aufgaben widmen
+ Datendurchsatz und Latenzen des Systemspeichers sind um ein vielfaches höher (Latenzen sogar millionenmal), dadurch erhält man ein flott reagierendes Betriebssystem, das sich so verhält, als gäbe es keine Auslagerungsdatei
+ Die generelle Behauptung, bei einem selbst habe es bei einem Test extrem viel gebracht, grundsätzlich ohne Beweise (vgl. Nachteile)
Und hier, die landläufigen Argumente dagegen:
- Sinnlos, man soll den RAM einfach gleich dem OS zu Verfügung stellen, dann muss es erst gar nicht auslagern (alternative Formulierung: Windows ist doch nicht so blöd und lagert aus, solange noch RAM da ist)
- Die Auslagerungsdatei ist doch dazu da, Platz bereit zu stellen, wenn der RAM zuende geht; dafür auch RAM zu nehmen, ist doch völlig im Kreis gedacht
- Man kann Windows zwingen, den RAM vollständig zu nutzen, indem man ganz einfach die Auslagerungsdatei deaktiviert
- Verwende lieber die Registry Tweaks (X, Y, Z), mit denen kann das Swapverhalten von Windows optimiert werden
- Das funktioniert doch gar nicht, da müsste die RAMDisk-Software (ein Windows-Programm) ja noch vor Windows geladen werden, das ist wie mit der Henne und dem Ei
- Eine Festplatte ist sowieso schnell genug, den Unterschied merkt man überhaupt nicht
- Wenn du ein schnelles System willst, kauf dir doch ne SSD
- Flüchtiger Speicher, wird bei jedem Neustart neu initialisiert; bedeutet, Sachen wie z.B. Kerneldumps bei Bluescreens sind nicht mehr zugänglich
- Die RAMDisk-Verwaltung erzeugt soviel CPU/Bus-Overhead, dass es alle Vorteile wieder auffrist
- Die generelle Behauptung, bei einem selbst habe es bei einem Test überhaupt nichts gebracht bzw. das System sogar verlangsamt, grundsätzlich ohne Beweise (vgl. Vorteile)
Beurteilung
Nun stellt der erfahrene Anwender fest, dass viele dieser Argumente, vor allem im Negativbereich, von Leuten abgegeben wurden, die nicht wirklich eine Ahnung haben, von was sie reden. So lassen sich zum Beispiel die erste handvoll Contra-Argumente komplett entkräften:
Zu den ersten drei: Windows lagert IMMER aus, egal wieviel RAM da ist. Selbst wenn man die Auslagerungsdatei deaktiviert, wird Windows auch weiterhin im Hintergrund die Platte bemühen - nur nicht mehr da wo der User will, sondern da wo Windows will. Vielleicht deutlich weniger, als wenn die Auslagerungsdatei explizit aktiv ist, sicher, aber Paging findet immer in gewissen Umfang statt - Windows ist nun mal so gestrickt, es kann gar nicht nicht auslagern. Außerdem läuft man in die Gefahr, dass Programme den Start verweigern oder abstürzen, die vom Programmierer explizit auf eine Auslagerungsdatei hin entwickelt wurden.
Zu Punkt vier: Viele dieser Registry-Tweaks sind so uralt, dass sie Windows XP schon gar nicht mehr verwertet; und die die dann noch übrig sind werden spätestens von Vista/W7 vollständig ignoriert (vgl. Tests zum Tunen von Vista in einer der letzten c't)
Punkt fünf: RAMDisk starten bevor Windows geladen wird ist überhaupt kein Problem.
Zu Punkt sechs fällt mir nur ein, dass der Anwender sich offenbar noch nie einen ganzen Tag lang mit Java-Anwendungen rumärgern durfte... Lotus Notes, Eclipse, Valuemation et cetera... da wird's arg düster wenn man eines davon mal für ne Weile in die Taskleiste schrumpft und ne Stunde später dann versucht es wieder hochzuholen. Merk ich jeden Tag im Büro, vor allem mit der lausigen Notebook-Festplatte.
Zu Punkt sieben: RAMDisks kosten da aber deutlich weniger, oft sogar überhaupt nichts...
Und die Pro- und Kontra-Argumente, die ohne stichhaltige Begründung oder Beweise abgeliefert werden, kann man schon von vorneherein ignorieren.
Es bleibt...
Dass die Flüchtigkeit des Speichers hier und da ungünstig sein kann, lass ich gerne so stehen, das ist ein ernsthaftes Argument - es muss jeder entscheiden, wie es einen selbst betrifft!
Damit stehen abschließend also das Argument der Systembeschleunigung durch Entlastung der Festplatte und Verwendung eines viel schnelleren Mediums gegen das Argument des erzeugten Overheads auf CPU und Speicherbus. Was ich dazu nicht gefunden habe, sind leider handfeste Beispiele und Tests. Oder gar Ideen, wie man sowas überhaupt testen kann.
Rückkehr des "High Memory"
Was scheinbar vielen noch unbekannt ist (und bis vor ein-zwei Tagen auch mir unbekannt war), ist die Tatsache, das moderne RAMDisk-Software auf den kompletten im System verbauten physikalischen Speicher zugreifen kann, selbst wenn das Betriebssystem vorher dichtmacht. 32bit Windows erkennt nur 3,3 GB von den 4 installierten? Eine RAMDisk kann die restlichen 0,7 GB verfügbar machen! Vorraussetzung natürlich, dass das BIOS Memory-Remapping bereitstellt.
Jetzt bietet sich also eine neue Überlegung an: warum nicht die Auslagerungsdatei via RAMDisk in diesen Restbereich legen? Damit hätte man die (noch zu beweisenden) Vorteile, ohne sich darüber Gedanken machen zu müssen, dass man Windows Arbeitsspeicher "wegnimmt".
Sinn oder Unsinn?
...Das ist hier die Frage! ich habe diesen Thread erstellt, um mal ein wenig Licht in die Angelegenheit "Auslagern in den RAM" zu bringen, indem ich versuche, tatsächliche Testergebnisse zu sammeln. Ich persöhnlich habe ein 32bit System, und bis zu 6 GB RAM verfügbar zum Einbau. Ich biete an, einmal selber zu testen, wie sich das auswirkt.
Bevor ich das allerdings machen kann, würde ich gerne darüber diskutieren, wie man das ganze am besten testet! Habt ihr Ideen, nützliche Links zu Artikeln zu dem Thema, oder vielleicht schon mal selbst einen (dokumentierten!) Test gemacht? Es muss doch mehr Möglichkeiten der Bewertung geben, als bloß den rein subjektiv gefühlten Unterschied. Könnte man zum Beispiel den CPU-Overhead einschätzen, in dem man ein Festplattentestprogramm mit CPU Usage Anzeige über die RAMDisk jagt... ein Speicherbandbreitenbenchmark (welches?) könnte mit bestimmten Hintergrundaktivitäten verbunden (welche?) eventuell Aussagen über die Speicherbuslast zulassen... was noch? Gibt es irgend ein Benchmark, bei dem gezielt die Performance beim Auslagern untersucht wird (z.B. Office- oder Productivity-Benchmarks)?
...Und interessiert das ganze überhaupt irgendjemand?
Zuletzt bearbeitet: