| Red Hat Enterprise Linux 4: Einführung in die System-Administration | ||
|---|---|---|
| Zurück | Kapitel 4. Physikalischer und virtueller Speicher | Nach vorne |
Wie auch jedes andere leistungsfähige Tool hat der virtuelle Speicher, der es erlaubt umfangreichere und komplexere Applikationen einfacher zu handhaben, seinen Preis. In diesem Fall ist es die Leistungsfähigkeit — Ein OS mit virtuellem Speicher hat wesentlich mehr zu tun, als ein Betriebssystem, welches virtuellen Speicher nicht unterstützen kann. Dies bedeutet, dass das Leistungsverhalten mit virtuellem Speicher niemals so gut ist, als wenn die selbe Applikation zu 100% speicher-resident ist.
Dies ist jedoch kein Grund die Finger davon zu lassen und einfach aufzugeben. Der Nutzen, der aus virtuellem Speicher gezogen werden kann, ist einfach zu groß. Und mit ein wenig Anstrengung kann dabei auch eine ausgezeichnete Leistungsfähigkeit erzielt werden. Dazu muss man einfach die Systemressourcen genauer betrachten, die am meisten durch die Nutzung eines virtuellen Speicher Subsystems beeinträchtigt werden.
Denken wir für einen Moment über das nach, was wir in diesem Kapitel gelesen haben und betrachten genauer, welche System-Ressourcen während extrem häufigen Page Fault und Swapping Aktivitäten am meisten betroffen sind:
RAM — Es liegt nahe, dass der verfügbare RAM niedrig ist (ansonsten würde auch kein Anlass zu Seitenfehlern oder Seitenaustausch bestehen).
Festplatte — Während verfügbarer Speicherplatz nicht davon betroffen ist, kann dies für die I/O-Bandbreite (als Folge von häufigem Paging und Swapping) der Fall sein.
CPU — Um die erforderlichen Prozesse, die zur Unterstützung des Speichermanagement und für I/O-Abläufe in Hinsicht auf Paging und Swapping notwendig sind durchführen zu können, wendet die CPU mehr Zyklen auf.
Die zusammenhängende Natur dieser Arbeitslaten macht es einfacher zu verstehen, wie Ressourcen-Engpässe zu ernsten Problemen im Bereich der Leistungsfähigkeit führen können.
Alles was es dazu braucht, ist offenbar ein System mit zuwenig RAM, starker Seitenfehler-Aktivität und ein System, das sich an seinen Grenzen in Bezug auf CPU oder Festplatten-I/O befindet. An diesem Punkt ist Seitenflattern (Thrashing) in Verbindung mit einer armseligen Performance unvermeidlich.
Im besten Fall stellt der dadurch erzeugte Overhead lediglich eine minimale zusätzliche Arbeitslast für ein bestens konfiguriertes System dar:
RAM — Ausreichend RAM für alle Arbeitsmengen und gegebenenfalls auch zur Bewältigung jeglicher Seitenfehler[1]
Festplatte — Durch die eingeschränkte Seitenfehler-Aktivität würde die I/O-Bandweite der Festplatte minimal betroffen sein.
CPU — Die Mehrheit der CPU-Zyklen werden dazu aufgewendet, Applikationen ablaufen zu lassen und nicht den Speichermanagement-Code des Betriebssystems
Daraus ist zu ersehen, dass die Auswirkungen von virtuellem Speicher auf das allgemeine Leistungsverhalten mimimal sind, wenn dieser so wenig als möglich benutzt wird. Dies bedeutet, dass eine gute Performance von virtuellen Speicher Subsystemen auf das Vorhandensein von ausreichend RAM zurückzuführen ist.
Wichtig dabei (jedoch viel niedriger in relativer Bedeutung) sind ausreichende Festplatten-I/O- und CPU-Kapazitäten. Beachten Sie dabei, dass diese Ressourcen lediglich dabei behilflich sind, die Systemleistung bei starkem Faulting und Swapping eleganter herabzusetzen; grundsätzlich tragen diese wenig dazu bei, die Leistungsfähigkeit des virtuellen Speicher Subsystems zu unterstützen (obwohl diese offenbar eine große Rolle im Gesamt-Leistungsverhalten des Systems spielen).
| [1] | Ein einigermaßen aktives System besitzt immer einen gewissen Grad an Seitenfehler-Aktivität, sobald neu-freigegebene Applikationen in den Speicher gebracht werden. |
| Zurück | Zum Anfang | Nach vorne |
| Virtueller Speicher: Die Details | Nach oben | Red Hat Enterprise Linux-spezifische Information |