Archiv Altes Windows: 98, SE, ME und NT 16.921 Themen, 62.626 Beiträge

RAM größer 128 MB bringt nichts, oder doch?

Haberberger / 11 Antworten / Flachansicht Nickles

Stimmt es, dass Win98SE nur RAM bis 128 MB effektiv verwalten kann?
Alles was darüber liegt bringt angeblich überhaupt nichts!

Wie schaut das eigentlich bein WIN2000 aus?

Danke für jede Antwort im Voraus!

mfg

Wolfgang

(Anonym) Haberberger „RAM größer 128 MB bringt nichts, oder doch?“
Optionen

Frust256 hat offensichtlich keine Ahnung vom Speichermanagement unter Windows. Anbei eine etwas größere Abhandlung, ruhig mal lesen, auch wenn es viel ist. Gleiches gilt übrigens sinngemäss auch für win2k. Windows 98 Cache und Auslagerungsdatei: Windows 98 verwaltet von hause aus diese beiden Komponenten dynamisch, das heißt, es passt ihre Größe dem vorhandenen Speicher und dem Bedarf der geladenen Programme an. Da die Auslagerungsdatei dynamisch wächst, wird sie früher oder später fragmentiert sein. Dagegen hilft – bis zu einem gewissen Grad – das Anlegen einer Swap-Datei mit einer festen Minimalgröße. Nach dem defragmentieren die Auslagerungsdatei neu erstellen, im DOS-Modus starten, die alte Swap-Datei löschen. Nach dem Neustart wird eine neue defragmentierte Swap-Datei erstellt. Die Maximalgröße der Auslagerungsdatei zu beschränken, macht in den meisten Fällen keinen Sinn, denn die künstliche Beschneidung des virtuellen Arbeitsspeichers könnte dazu führen, das einige Programme nicht mehr starten oder gar das System zum Stillstand bringen. Unter Windows 95 war es ein beliebter Tuning-Tip, die Größe des Disk-Cache zu beschränken, um Anwendungen mehr physikalischen Speicher zur Verfügung zu stellen und das Auslagern von Speicherbereichen zu minimieren. Dazu sollte man in der system.ini folgendes eintragen:
[vcache]
MinFileCache=0
MaxFileCache=2048
Diese Einträge wertet auch Windows 98 noch aus, aber nur, wenn der physikalische Speicher größer als 12 MB ist (wohl kein Thema) und MaxFileCache mindestens 2048 beträgt. Allerdings ist von dieser Einstellmöglichkeit unter Windows 98 absolut abzuraten. Der Grund dafür, das Windows 98 besser mit dem größeren Cache läuft, ist ein Feature namens MaxCache. Bei früheren Cache-Strategien landete der Code, der von der Festplatte geladen wird, zunächst im Cache und wird von dort aus zur Ausführung in den Hauptspeicher kopiert. Er ist also im RAM zweimal vorhanden. MapCache umgeht nun diesen Kopiervorgang, indem es bestimmten Code direkt aus dem Cache heraus ausführt. Dazu muss die Defragmentierung mit der Option Programme zum schneller starten neu anordnen ausgeführt werden. Dabei kann es durchaus passieren, das Programme fragmentiert werden, weil die Ladereihenfolge eine andere als die durchgehende physikalische Anordnung auf der Festplatte ist. Da hiervon nur Programme betroffen sind, muss die Defragmentierung natürlich nur selten ausgeführt werden, das Programmdateien naturgemäß nicht defragmentieren, wie Anwendungsdaten, die immer wieder neu geöffnet und gespeichert werden.
Die Dokumentation zur Auslagerungsdatei und zum Disk-Cache ist in Windows eher mäßig. Im Resource Kit findet man zwar eine Auflistung der Einstellungen für System-Monitor, mit dem man Speicherbelegung prüfen kann, aber keine genaue Beschreibung.

Wenn man den System-Monitor startet und sich den freien Speicher anzeigen läßt, stellt man fest (abhängig von Rechner-Konfiguration, Speicher, laufenden Hintergrund-Programmen), dass schon direkt nach dem Start von Windows die Größe des freien Speichers nahezu Null ist .Es stellen sich dann einige Fragen:

1. Wo ist mein freier Speicher geblieben?
2. ich habe so viel RAM, warum swapt Windows überhaupt?
3. Brauche ich bei (32, 64, ...MB) noch eine Swap-Datei?
4. Kann ich das Systemverhalten durch Änderung am Speichermanagement irgendwie verbessern?
5. Permanente Auslagerungsdatei: Ja oder Nein?
6. Wenn permanent, wie groß sollte meine Auslagerungsdatei sein?
7. Wie groß sollte der Disk - Cache sein?

Als erstes muss man ein bißchen über das Speichermanagement von Windows wissen, um das "Verhalten" bezüglich des Speichers zu verstehen.

1. Wenn ein 16-Bit Programm (DLL) gestartet wird, werden bestimmte Teile dieses Programms genau einmal ausgeführt, nämlich beim Start. Dieser Code bleibt nicht ständig im RAM, sondern wird später in der Auslagernungsdatei untergebracht. Auf diesen Code wird nie wieder zugegriffen.
2. Wenn ein Programm Speicher reserviert (auf Englisch heißt das "committed", "reserved" hat eine andere Bedeutung! ), wird dieser Speicher nicht unbedingt sofort mit Daten gefüllt. Daher wird er nicht im RAM angelegt (vielleicht greift das Programm ja nie darauf zu) sondern in der Auslagerungsdatei. Erst wenn der reservierte Speicher mit Daten gefüllt wird, wird RAM dafür freigemacht.
3. Die meisten Programme nutzen nur ganz bestimmte Teile der im Speicher befindlichen Daten ständig. Die Speicherverwaltung von Windows sorgt dafür, dass diese Abschnitte im RAM gehalten werden. Daten, auf die nur sehr selten zugegriffen wird, werden ausgelagert.

Frage: Ist eine Auslagerungsdatei immer notwendig ?
Antwort: Ja, man sollte auf jeden Fall eine Auslagerungsdatei haben (solange Festplattenplatz billiger ist als RAM). Wer meint, dass auf seinem System keine Auslagerungsdatei sein sollte, hat das Speichermanagment von Windows nicht verstanden. Statt Auslagerungsdatei auszuschalten kann man auch RAM ausbauen und das Swappen (innerhalb bestimmter Grenzen)wieder zulassen, das hat die gleichen ungünstigen Auswirkungen auf die Performance.

Generell gilt: Die optimale Einstellung für alle Rechner gibt es nicht. Wenn man vermutet, dass man die Leistung seines Rechners durch manuelles Tuning des Speichermanagements verbessern kann, sollte man das System erstmal mit Hilfe des System-Monitors überwachen, der als Zubehör zu Windows mitgeliefert wird.

Frage: Wie groß muss meine Auslagerungsdatei sein (wenn permanent)?
Antwort: Genau zur Beantwortung dieser Frage gibt des den System-Monitor. RAM+Swap müssen so groß sein wie der maximal erreichte Wert von "Reservierter Speicher".

Frage: Brauche ich nicht 2*RAM oder so als Swap-Datei?
Antwort: Das mag eine gute Faustregel für Netzwerk Computer sein, für PC's gilt das nicht.

Frage: Sollte ich die Größe des Disk-Caches nach oben begrenzen?
Antwort: Es ist nicht notwendig, aber wenn überhaupt, dann auf 4 MB. Disk-Cacheing ist die am meisten Performance steigernde Maßnahme überhaupt. Man kann sich allerdings darüber streiten, ob ein Disk-Cache von 8 oder 12 MB noch sinnvoll ist. Die dynamische Verwaltung des Disk-Caches sorgt ja dafür, das der Speicher durch den Cache nicht "verbraucht" wird. Eine generelle Empfehlung kann man nicht geben. Man müßte langfristig die Zahl der Cache-Hits messen. Es gibt aber einige Anhaltspunkte:

1. Wenn man ständig mehrere MB freien RAM-Speicher hat (bei fester Cache Obergrenze), sollte man den Cache wieder freigeben.
2. Öffnet und schließt man oft Programme (auch wiederholt), sollte der Cache nicht begrenzt werden.
3. Vermutlich hat MS zu dem Zeitpunkt, als die Kriterien des Speichermanagements festgelegt wurden, angenommen, dass 32 MB höchstens auf einem Netzwerkserver installiert wären. Daher der riesige Disk-Cache. Aber ob das wirklich schadet...

Frage: Sollte ich die Größe des Disk-Caches nach unten begrenzen?
Antwort: Nein. Da Windows den Cache sowieso erst dann ganz freigibt, wenn der Speicher bis zum allerletzten Bit gefüllt ist, macht es keinen Sinn die Cache-Größe nach unten festzusetzen.

Wo soll die jetzt hin?
Die Auslagerungsdatei von Windows im allgemeinen sollte nach Möglichkeit immer entweder am Anfang oder am Ende einer Partition gelegt werden. Das Verschieben der Auslagerungsdatei ist aber ohne Tools kaum zu bewerkstelligen. Einfach ist es z.B. mit den Norton Utilities (Defrag) möglich, wo man angeben kann, dass die Datei an den Anfang der Festplatte verschoben werden soll.

Was soll das bringen?
Meistens bringt das einen besseren Zugriff auf die Swap-Datei , weil der Schreib-/Lesekopf dann weniger rotieren muss, das schont außerdem die Festplatte. Legt man die Auslagerungsdatei am Anfang der Festplatte, ist der Zugriff um ca 10% schneller im Vergleich zu Festplattenmitte, legt man die Swap-Datei am Ende der Festplatte steigert die Geschwindigkeit noch einmal um ca 10%. Außerdem sollte man darauf achten, dass Windows die Auslagerungdatei nicht zerstückelt, denn dann rotiert der Kopf natürlich noch mehr. Man sollte deshalb möglichst nach fast jeder Windows-Sitzung die Festplatten defragmentieren.

Ich habe dafür aber sowieso eine extra Partition...
Microsoft hatte mal eine Pressemitteilung ausgegeben , dass man nach Möglichkeit eine Swap-Datei auf derselben Partition anlegen soll, auf der Windows installiert ist , um einen besseren und schnelleren Zugriff zu haben. Der Grund liegt darin, dass Windows bei einer Extra-Partition ein Laufwerk mehr verwalten