Definition

Virtueller Arbeitsspeicher

Mitarbeiter: Herzl Regev

Virtueller Arbeitsspeicher ist eine Funktion eines Betriebssystems. Diese gestattet es einem Prozess, einen Arbeitsspeicher-Adressraum zu nutzen, der von anderen Prozessen auf dem System unabhängig und größer als die tatsächlich vorhandene Menge an Arbeitsspeicher (RAM) ist. Ein Teil der RAM-Inhalte werden dadurch ohne oder mit wenig Overhead temporär vom eigentlichen RAM auf eine Festplatte ausgelagert.

In einem System mit virtuellem Arbeitsspeicher wird der physische Speicher in mehrere gleichgroße Seiten, sogenannte Pages unterteilt. Der von einem Prozess adressierte Arbeitsspeicher wird ebenfalls in logische Seiten derselben Größe unterteilt. Wenn ein Prozess auf eine bestimmte Adresse im virtuellen Arbeitsspeicher verweist, dann ruft der Speicher-Manager die entsprechende Seite von der Festplatte ab und platziert sie in einer freien physischen Seite im RAM. Folgeverweise, die innerhalb dieser logischen Seite liegen, werden an die physische Seite weitergeleitet. Wenn der Prozess auf eine Adresse einer anderen logischen Seite verweist, dann wird diese ebenfalls in eine freie physische Seite geladen und somit zum Ziel nachfolgender ähnlicher Verweise.

Falls das System über keine freie physische Seite mehr verfügt, dann verschiebt der Speicher-Manager eine logische Seite in den Swap-Bereich – normalerweise eine Seiten-Datei auf der Festplatte (in Windows XP: pagefile.sys) – und kopiert die angeforderte logische Seite in die nun freie physische Seite. Die ausgelagerte Seite kann zu einem anderen Prozess gehören. Für die Entscheidung darüber, welche Seite ausgelagert wird, gibt es viele Strategien; eine davon ist LRU (Last Recently Used), bei der die am seltensten genutzte Seite ausgelagert wird. Falls eine Seite ausgelagert wurde und anschließend auf sie verwiesen wird, dann wird sie zu Ungunsten einer anderen Seite wieder aus dem Swap-Bereich geholt.

Virtueller Arbeitsspeicher ermöglicht es dem einzelnen Prozess, so zu agieren, als stünde ihm der gesamten Arbeitsspeicher allein zur Verfügung. Denn die Adressen, die er nutzt, um auf den Speicher zu zeigen, werden vom Mechanismus des virtuellen Arbeitsspeichers in andere Adressen innerhalb des physischen Arbeitsspeichers übersetzt. Dies gestattet unterschiedlichen Prozessen das Verwenden derselben Speicher-Adresse. Verweise auf dieselbe Speicher-Adresse durch zwei unterschiedliche Prozesse werden vom Speicher-Manager in zwei unterschiedliche physische Adressen übersetzt; einzelne Prozesse können dabei normalerweise nicht auf den Speicher eines anderen Prozesses zugreifen. Ein Prozess kann einen Adress-Bereich verwenden, der größer ist als der verfügbare physische Speicher, und jeder Verweis auf eine Adresse wird in eine existierende physische Adresse übersetzt. Die Grenze des Speichers, den ein Prozess tatsächlich adressieren darf, entspricht der Größe des Swap-Bereichs, der kleiner als der adressierbare Raum sein kann (ein Prozess kann einen Adressbereich von 4 Gigabyte haben, tatsächlich aber nur 2 GB nutzen und dies auf einem Rechner mit einer Seiten-Datei von 2 GB ausführen.)

Die Größe des virtuellen Arbeitsspeichers auf einem System ist kleiner als die Summe aus physischen RAM und Swap-Bereich. Dies ist so, weil Seiten, die verschoben werden, nicht aus dem Swap-Bereich gelöscht werden und so zwei Seiten einen Platz in der Größe der Summe von beiden einnehmen.

Normalerweise beträgt die Größe des Swap-Bereichs unter Windows das 1,5-Fache der RAM-Größe.

Der virtuelle Speichermanager gibt unter bestimmten Umständen diese Nachricht aus: „Nicht genügend virtueller Speicher. Windows erhöht die Größe Ihrer Auslagerungsdatei für virtuellen Arbeitsspeicher.“ Dies geschieht, wenn es nötig wird, eine Seite aus dem RAM auszulagern, während alle Seiten in der Seiten-Datei bereits besetzt sind. Die Nachricht bedeutet, dass mehr Platz für die Seiten-Datei reserviert und der zusätzliche Platz dazu verwendet wird, die neu ausgelagerte Seite (und die nachfolgenden) zu speichern.

Eine Ursache dafür, dass das System die Seiten-Datei vergrößern will, können zu viele laufende Prozesse sein. In diesem Fall passt nur ein relativ kleiner Teil des Prozess-Speichers ins RAM, und es liegen dementsprechend viele Seiten in der Seiten-Datei. In diesem Fall muss das virtuelle Speicher-System zu viele Seiten aufnehmen – eine „kleine“ Anzahl von Seiten pro Prozess, dies aber für „viele“ Prozesse. In einem solchen Fall ist es außerdem wahrscheinlich, dass das System langsamer läuft, weil die Seiten öfter ein- und ausgelagert werden müssen.

Ein weiterer Fall, der dazu führen kann, dass das System die Seiten-Datei vergrößern will, ist ein Speicherleck eines Prozesses. Dabei belegt der Prozess eine große Menge an ungenutztem Speicher, der höchstwahrscheinlich aus-, aber nicht wieder eingelagert wird.

Die Nutzung der Auslagerungsdatei in Windows kann im Task-Manager beobachtet werden, indem Sie das Kontroll-Kästchen „Größe des virtuellen Arbeitsspeichers“ im Menü „Ansicht“ -> „Spalten auswählen“ markieren.

Die Seiten-Datei kann fragmentiert sein, es gibt aber Werkzeuge für ihre Defragmentierung.

In unserem englischsprachigem Tutorial erfahren Sie, wie virtueller Arbeitsspeicher funktioniert.

Erfahren Sie mehr:

Microsoft erläutert, wie die Vergrößerung der Auslagerungsdatei funktioniert.

Was sollte man tun, wenn man diese Nachricht erhält? „Nicht genügend virtueller Speicher. Windows erhöht die Größe Ihrer Auslagerungsdatei für virtuellen Arbeitsspeicher.“

Sysinternals bietet einen Defragmentierer für die Auslagerungsdatei an.

Diese Definition wurde zuletzt im Mai 2016 aktualisiert

Erfahren Sie mehr über Datenmanagement-Tools

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

File Extensions and File Formats

Powered by:

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close