Virtueller Adressraum (Speicherverwaltung)

Der virtuelle Adressraum für einen Prozess ist der Satz von virtuellen Speicheradressen, die sie verwenden kann. Der Adressraum für jeden Prozess ist privat und kann nicht von anderen Prozessen zugegriffen werden, es sei denn, es wird freigegeben.

Eine virtuelle Adresse stellt nicht den tatsächlichen physischen Speicherort eines Objekts im Arbeitsspeicher dar; Stattdessen verwaltet das System eine Seitentabelle für jeden Prozess, der eine interne Datenstruktur ist, die zum Übersetzen virtueller Adressen in ihre entsprechenden physischen Adressen verwendet wird. Jedes Mal, wenn ein Thread auf eine Adresse verweist, übersetzt das System die virtuelle Adresse in eine physische Adresse.

Der virtuelle Adressraum für 32-Bit-Windows ist 4 Gigabyte (GB) in Größe und unterteilt in zwei Partitionen: eine für die Verwendung durch den Prozess und den anderen reserviert für die Verwendung durch das System. Weitere Informationen zum virtuellen Adressraum in 64-Bit-Windows finden Sie unter Virtual Address Space in 64-Bit-Windows.

Weitere Informationen zu virtuellem Arbeitsspeicher finden Sie in den folgenden Themen:

Standardmäßiger virtueller Adressraum für 32-Bit-Windows

Die folgende Tabelle zeigt den Standardspeicherbereich für jede Partition.

Speicherbereich Nutzung
Niedrige 2 GB (0x00000000 bis 0x7FFFFFFF) Wird vom Prozess verwendet.
Hohe 2 GB (0x80000000 bis 0xFFFFFFFF) Wird vom System verwendet.

 

Virtueller Adressraum für 32-Bit-Windows mit 4GT

Wenn 4-Gigabyte-Optimierung (4GT ) aktiviert ist, ist der Speicherbereich für jede Partition wie folgt.

Speicherbereich Nutzung
Niedrige 3 GB (0x00000000 bis 0xBFFFFFFF) Wird vom Prozess verwendet.
Hohe 1 GB (0xC0000000 bis 0xFFFFFFFF) Wird vom System verwendet.

 

Nachdem 4GT aktiviert ist, hat ein Prozess, der über das IMAGE_FILE_LARGE_ADDRESS_AWARE Flag in seinem Bildheader festgelegt ist, Zugriff auf den zusätzlichen 1 GB Arbeitsspeicher über dem niedrigen 2 GB.

Anpassen des virtuellen Adressraums für 32-Bit-Windows

Sie können den folgenden Befehl verwenden, um eine Starteintragsoption festzulegen, die die Größe der Partition konfiguriert, die vom Prozess auf einen Wert zwischen 2048 (2 GB) und 3072 (3 GB) verfügbar ist:

BCDEdit /setincreaseuservaMegabytes

Nachdem die Starteingabeoption festgelegt wurde, ist der Speicherbereich für jede Partition wie folgt.

Speicherbereich Nutzung
Niedrig (0x00000000 bis Megabytes) Wird vom Prozess verwendet.
Hoch (Megabyte+1 bis 0xFFFFFFFF) Wird vom System verwendet.

 

Windows Server 2003: Legen Sie den Schalter /USERVA in boot.ini auf einen Wert zwischen 2048 und 3072 fest.