Virtueller Adressraum (Speicherverwaltung)
Der virtuelle Adressraum für einen Prozess ist der Satz von virtuellen Speicheradressen, die er verwenden kann. Der Adressraum für jeden Prozess ist privat und kann nicht von anderen Prozessen aufgerufen werden, es sei denn, er wird freigegeben.
Eine virtuelle Adresse stellt nicht den tatsächlichen physischen Standort eines Objekts im Arbeitsspeicher dar. Stattdessen verwaltet das System eine Seitentabelle für jeden Prozess, bei der es sich um eine interne Datenstruktur handelt, die verwendet wird, um virtuelle Adressen in ihre entsprechenden physischen Adressen zu übersetzen. 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) groß und in zwei Partitionen unterteilt: eine für die Verwendung durch den Prozess und die andere für die Verwendung durch das System reserviert. Weitere Informationen zum virtuellen Adressraum in 64-Bit-Windows finden Sie unter Virtueller Adressraum in 64-Bit-Windows.
Weitere Informationen zum virtuellen Speicher finden Sie in den folgenden Themen:
- Virtueller Adressraum und physischer Speicher
- Arbeitssatz
- Seitenzustand
- Bereich des zugewiesenen Speichers
- Datenausführungsverhinderung
- Arbeitsspeicherschutz
- Speicherbeschränkungen für Windows-Versionen
Standardmäßiger virtueller Adressraum für 32-Bit-Windows
In der folgenden Tabelle ist der Standardspeicherbereich für jede Partition aufgeführt.
Speicherbereich | Verbrauch |
---|---|
Niedrig 2 GB (0x00000000 bis 0x7FFFFFFF) | Wird vom Prozess verwendet. |
Hoch 2 GB (0x80000000 bis 0xFFFFFFFF) | Wird vom System verwendet. |
Virtueller Adressraum für 32-Bit-Windows mit 4GT
Wenn 4-Gigabyte Tuning (4GT) aktiviert ist, lautet der Speicherbereich für jede Partition wie folgt.
Speicherbereich | Verbrauch |
---|---|
Niedrig 3 GB (0x00000000 bis 0xBFFFFFFF) | Wird vom Prozess verwendet. |
Hoch 1 GB (0xC0000000 bis 0xFFFFFFFF) | Wird vom System verwendet. |
Nachdem 4GT aktiviert wurde, hat ein Prozess, der das IMAGE_FILE_LARGE_ADDRESS_AWARE-Flag in seinem Image-Header festgelegt hat, Zugriff auf die zusätzlichen 1 GB Arbeitsspeicher über den niedrigen 2 GB.
Anpassen des virtuellen Adressraums für 32-Bit-Windows
Mit dem folgenden Befehl können Sie eine Boot-Eintragsoption festlegen, die die Größe der Partition, die dem Prozess zur Verfügung steht, auf einen Wert zwischen 2048 (2 GB) und 3072 (3 GB) konfiguriert:
BCDEdit /set increaseuserva Megabytes
Nachdem die Starteintragsoption festgelegt wurde, lautet der Speicherbereich für jede Partition wie folgt.
Speicherbereich | Verbrauch |
---|---|
Niedrig (0x00000000 bis Megabyte) | Wird vom Prozess verwendet. |
Hoch (Megabyte+1 bis 0xFFFFFFFF) | Wird vom System verwendet. |
Windows Server 2003: Legen Sie den Switch /USERVA in boot.ini auf einen Wert zwischen 2048 und 3072 fest.