Box 24

 Home   Infos   Tipps   Webmail   Humor   Polizei   Gästebuch   Downloads   Chat   Suchen   Feedback   Links 

 

 Anmelden/Login   Neuanmeldung/New User   Java Telnet Applet   Telnet   
 

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.