Tuning des Arbeitsspeichers
(Windows 9x und NT)
RAM-Speicher ist eine knappe Ressource. Anwendungen und Subsysteme des Betriebssystems streiten sich um jedes Quäntchen dieses wertvollen Stoffes. Um zu verhindern, dass der RAM-Speicher
zu schnell ausgeht, greifen alle modernen Betriebssysteme auf eine Auslagerungsdatei zurück, in der das RAM derzeit inaktiver Anwendungen seitenweise ausgelagert wird (jede Seite umfasst 4
KB). Erst wenn die Anwendung reaktiviert wird, lädt das Betriebssystem den Inhalt der RAM-Seiten aus der Auslagerungsdatei in das physikalische RAM und stellt dieses der Anwendung wieder
zur Verfügung. Diese virtuelle Speicherverwaltung ist jedoch nur dann sinnvoll, wenn sich das Aus- und Einlagern der Speicherseiten in Grenzen hält.
Laufen mehrere speicherhungrige Applikationen gleichzeitig (z.B. Grafikprogramme), sind die Probleme oft kaum zu überhören und zu übersehen. Die Festplatte ergeht sich in hektischer
Aktivität, sie rattert und ihre Leuchte blinkt, und der Rechner steht scheinbar trotzdem still. Der Grund: das Betriebssystem "prügelt" (engl. to thrash) scheinbar unbenötigte
Speicherseiten aus dem RAM in die Auslagerungsdatei, und gleichzeitig werden wieder benötigte Seiten zurück ins RAM transportiert.
Tritt dieses Szenario nur hin und wieder bei Ihnen auf, sind Optimierungen am Speicher meist sinnlos und Zeitverschwendung. Werden Sie aber täglich von solchen Attacken überfallen,
sollten Sie über eine Erweiterung nachdenken.
Kontrolle per Systemmonitor
Eines der wertvollsten Messgeräte für den aktuellen Speicherbedarf Ihres Rechners ist der Systemmonitor. Er ist unter Windows 9x und Windows NT verfügbar - die Windows-98-Variante ist von
allen allerdings die komfortabelste. Im gesamten Betriebssystem sind kleine Sonden versteckt, die laufend verschiedene Systemparameter messen und in dynamischen Bereichen der Registry
ablegen. Der Systemmonitor liest diese dynamischen Schlüssel aus und zeigt die aktuellen Messwerte beispielsweise als Fieberkurve an.
Diese Mess-Sonden werden Datenquelle genannt und sind nach Kategorien gruppiert. Die wichtigsten Gruppen zur Messung des Speicherbedarfs finden sich unter Speicher-Manager und
Datenträger-Cache. Besonders aussagekräftig ist die Datenquelle Speicher-Manager, Seitenauslagerungen. Sie gibt an, wie viele seit längerem ungenutzte RAM-Seiten ausgelagert werden, um
Platz für aktuelle Speicheranforderungen zu machen. Liegt dieser Messwert immer wieder für längere Zeit über 0 Seiten/s, ist das ein Indiz für erhöhten Memorybedarf. Wie viel Speicher Sie
für einen reibungslosen Ablauf der aktuellen Aufgaben benötigen, können Sie der Datenquelle Reservierter Speicher aus der Speicher-Manager-Kategorie entnehmen. Diese Grösse zeigt an, wie
viel Memory momentan vom System angefordert wurde. Allerdings bezieht der reservierte Speicher auch jene Bereiche ein, die zwar von einer Anwendung allokiert wurden, derzeit aber
ausgelagert sind, weil die Anwendung inaktiv vor sich hindümpelt. Erst wenn auch die Kenngrösse Nicht belegter Arbeitsspeicher gegen 0 tendiert, können Sie die Angabe aus Reservierter
Speicher auf Ihren Einkaufszettel schreiben.
Die Rolle der Auslagerungsdatei
Ein beliebter Tipp zur Umgehung einer akuten Speicherkrise ist die Erweiterung der Auslagerungsdatei. Sie sollte üblicherweise das zwei- bis dreifache der RAM-Speichergrösse aufweisen.
Schneller wird der Rechner dadurch allerdings nicht. Sie können dafür einzig noch mehr Anwendungen gleichzeitig ausführen - die dann allerdings vor sich hinkriechen könnten. Dennoch bietet
die Auslagerungsdatei etwas Beschleunigungspotential.
Die auch als Swap-File bezeichnete Datei sollte sich auf dem schnellsten Laufwerk befinden. Falls dort aber auch das Betriebssystem installiert wurde und die Platte dadurch auch den
Zugriff auf Systemdateien befriedigen muss, ist diese Massnahme mit Vorsicht zu geniessen. Hier ist es sinnvoller, auf eine langsamere, aber weniger frequentierte Platte auszuweichen.
Windows 98 kennt keine permanente Auslagerungsdatei mehr, aber durch Angabe derselben Grösse für den Minimal- und Maximalwert lässt sich eine Quasi-permamente Auslagerungsdatei erzeugen.
Der Vorteil: Windows ändert die Grösse der Datei nicht mehr. Der Nachteil: Sie verschenken einen Teil des Festplattenspeicherplatzes.
Der Datenträger-Cache
Eigentlich dürfte eine Speicherknappheit erst dann auftreten, wenn Anwendungen mehr Speicher anfordern, als die RAM-Bausteine anbieten. Doch nicht immer sind hungrige Anwendungen Schuld
am Speicherengpass. Auch das Betriebssystem, genauer der Datenträger-Cache, trägt sein Scherflein dazu bei.
Dieser Cache wird von Windows 9x/NT verwendet, um beim Lesen von Dateien die bereits gelesenen Daten im RAM zu puffern. Dadurch ist es möglich, dass beim Zugriff auf bereits eingelesene
Daten nicht erneut auf langsame Laufwerke oder Netzwerkverbindungen zugegriffen werden muss. Beim Lesen und Schreiben umfangreicher Files breitet sich der Datenträger-Cache über den
gesamten noch verfügbaren RAM-Speicher aus - wogegen zunächst einmal auch nichts einzuwenden ist. Interessant ist nur, wie Windows den vom Datenträger-Cache belegten Speicher wieder
freigibt. Eigentlich sollte man annehmen, dass Speicheranforderungen einer Anwendung Vorrang vor dem Datenträger-Cache besitzen und der vom Cache belegte Speicher sofort freigegeben wird,
wenn eine Anwendung Speicherplätze benötigt. Windows 9x verhält sich auch in genau dieser Art und Weise, wie der Systemmonitor zeigt.
Nur Windows NT 4.0 ohne Service Pack 3.0 arbeitet anders: Das Betriebssystem gibt das vom Cache belegte Memory nicht frei, selbst dann nicht, wenn der gesamte Speicher belegt ist und eine
Anwendung weitere Speicherplätze benötigt. Die Folge macht sich dadurch bemerkbar, dass das Betriebssystem Speicherseiten anderer Anwendungen auslagern und dabei auf ein Festplattenlaufwerk
zugreifen muss, was das gesamte System in Mitleidenschaft zieht und zudem den Dateizugriff empfindlich ausbremsen kann.
Unter Windows NT belegt der Datenträger-Cache beim Dateizugriff sofort den gesamten Speicher (100%) und gibt ihn nicht mehr frei. Auch dann nicht, wenn eine Anwendung Speicher allokiert.
Windows NT erweitert da lieber die Auslagerungsdatei und setzt Ihre Festplatte einem intensiven Thrashing aus. Erst wenn die Datei geschlossen wurde und eine zweite Speicheranforderung
stattfindet, verwendet NT RAM-Speicher, um die Anforderung der Anwendung zu befriedigen. Falls Ihr Rechner dasselbe Verhalten an den Tag legt, hilft nur das Upgrade Ihres Rechners auf NT
4.0 SP3 oder SP4.
Mit dem Service Pack 3.0 ist das Problem behoben - allerdings nicht durch Änderung des Cache-Algorithmus, sondern durch Veränderung der Semantik beim Dateizugriff. Windows NT 4.0 SP 3
schaltet die Grössenzunahme des Datenträger-Cache beim Dateizugriff rigoros ab und verwendet einen nur durch die Anzahl der geöffneten Dateien wachsenden oder schrumpfenden Cache.
Applikations-Optimierung per WinAlign
Unter Windows 98 lassen sich Optimierungen mit Hilfe des Cache vornehmen. Beim Ausführen eines Programms durchlaufen die Programmdaten den Datei-Cache (und verbleiben dort, solange das
Programm läuft), um zur Ausführung anschliessend in einen anderen RAM-Bereich kopiert zu werden. Die Folge: Die Daten liegen doppelt im Speicher vor. Bei Programmdaten, die im allgemeinen
keiner Änderung unterliegen, ist die Anlage einer zweiten Kopie aber überflüssig. Theoretisch lässt sich die Anwendung direkt aus dem Datei-Cache starten.
Dazu müssen Programme aber eine Bedingung erfüllen: ihre Programmsegmente müssen auf 4-KB-Grenzen ausgerichtet sein, was bei Verwendung des Visual-C++-Compilers der Version 4.0 und früher
wie auch bei einer Reihe anderer Entwicklungssysteme auch heute nicht serienmässig der Fall ist. Das Ressource-Kit von Windows 98 liefert daher das Werkzeug WinAlign, das die
übergebenen Programmdateien auf 4-KB-Grenzen ausrichtet. Dieses Programm ist allerdings mit Vorsicht zu geniessen. Antivirenprogramme reagieren evtl. empfindlich auf die Änderung der
Programmdateien, und Anwendungen, die ihre Programmdateien via Prüfsumme auf Modifikationen untersuchen, werden vermutlich nicht korrekt arbeiten.
Obwohl WinAlign ein sehr praktisches Werkzeug ist, kann es kaum mehr als einige hundert Kilobyte einsparen. Bestenfalls auf Systemen, die weniger als 32 MB RAM aufweisen, ist das Tool in
der Lage, deutlich erkennbare Performance-Steigerungen hervorzurufen.
Unnötige Prozesse kippen
Nicht benötigte Anwendungen belegen RAM, das an anderer Stelle sinnvoll eingesetzt werden könnte. Daher empfiehlt es sich, die Autostart-Dateien auf das wesentliche zu beschränken.
Ausserdem wird gerne empfohlen, unter NT alle Dienste zu stoppen, die nicht benötigt werden. Auch mit dem Verzicht auf Netzwerk-Protokolle lässt sich RAM-Speicher gewinnen. Das Weglassen
von IPX/SPX oder NETBEUI führt zwar dazu, dass das Netzwerk einen Tick schneller arbeitet, weil der Multiprotokollhandler nicht mehr unterscheiden muss, in welchem Protokoll ein
Netzwerkpaket ankommt. Aber Speicher wird dadurch nur wenig befreit. Das grösste Einsparpotential bietet da noch das TCP/IP-Protokoll, doch wer möchte in Zeiten des Internets und Intranets
darauf verzichten?
Alles in allem gibt es nur wenig, was sich gegen eine akute Speicherkrise ausrichten lässt. Am weitesten bringt die Betrachtung der Systemparameter, denn sie hilft, die
"Übeltäter" zu identifizieren. Besonders Server-Anwendungen wie ungünstig konfigurierte SQL- oder Exchange-Server belegen oftmals unnötig viel der kostbaren Speicherreserven.
Systemparameter-Tuning
Immer wieder liest man von Beschleunigungen, die auf einer besseren Konfiguration des Datenträger-Cache von Windows 98 basieren. Diese Optimierungen basieren darauf, dass zwei Einträge im
[VCACHE]-Abschnitt der Datei System.ini manipuliert werden. MinFileCache und MaxFileCache
nehmen dazu die Anzahl der Kilobytes auf, die der Datei-Cache mindestens und höchstens im RAM-Speicher belegen darf. Doch egal, wie viel Sie an diesen beiden Parametern herumschrauben: Ihr System wird dadurch in herkömmlichen Arbeitssituationen um keinen Deut schneller. Durch Bereitstellung eines grosszügigen Datei-Cache profitieren bestenfalls Anwendungen, die mit umfangreichen Dateien arbeiten. Allerdings werden speicherintensive Applikationen dadurch in Mitleidenschaft gezogen, weil nun die Auslagerungsdatei stärker beansprucht wird.
Sinn machen diese Änderungen bestenfalls unter Windows 95, weil sich hier der Datei-Cache ähnlich verhält wie unter Windows NT. Das vom Cache allokierte RAM wird solange nicht für andere
Anwendungen freigegeben, solange die Datei nicht geschlossen wurde. Die Begrenzung des Zwischenspeichers auf einen Maximalwert (z.B. 1/3 des verfügbaren RAMs) können somit Reserven schaffen.
|