4 GByte wirklich nutzen

In voller Kenntnis der Beschränkungen des 32-Bit-Adressraumes habe ich mein Mainboard mit 4 GByte RAM bestückt, die ich mit Windows XP Professional in der x64-Version entgegen meiner Erwartung aber nun trotzdem nicht nutzen kann - es fehlten immer noch rund 750 MByte. Was mache ich falsch?

vorlesen Druckansicht
Lesezeit: 3 Min.

In voller Kenntnis der Beschränkungen des 32-Bit-Adressraumes habe ich mein Mainboard mit 4 GByte RAM bestückt, die ich mit Windows XP Professional in der x64-Version entgegen meiner Erwartung aber nun trotzdem nicht nutzen kann - es fehlten immer noch rund 750 MByte. Was mache ich falsch?

Der I/O-Adressraum von Erweiterungskarten - gleich ob mit PCI-, AGP-, PCI-X- oder PCI-Express-Schnittstelle - liegt unterhalb der Grenze von 232 Byte (= 4 GByte). Eventuell vorhandenes physisches RAM in diesem Adressraum lässt sich zunächst nicht nutzen - und zwar tendenziell umso weniger, je mehr Karten und Onboard-Chips im System stecken. Die genaue Größe des Adresslochs hängt von den jeweiligen Bausteinen, ihrer Firmware und dem Mainboard-BIOS ab. Das BIOS mancher Serverboards mit Hotplug-Steckplätzen reserviert große Adressbereiche für Karten, die sich im laufenden Betrieb einstecken lassen.

Es gibt zwei gängige Tricks zur Nutzung des „verlorenen“ physischen Speichers, die aber das BIOS unterstützen muss - wenn im BIOS-Setup eine entsprechende Option fehlt und die Tricks nicht automatisch funktionieren, kennen wir auch keine Abhilfe. Die Namen der RAM-Adress-Tricks werden leider nicht scharf abgegrenzt benutzt, häufig liest man Memory Remapping und Memory Hoisting, selten auch Memory Reclaim.

Bei dem von Intel als Memory Remapping beschriebenen Verfahren berechnet das BIOS den belegten PCI-Adressbereich exakt und „klebt“ genau diesen oberhalb der 32-Bit-Grenze an. Ein Betriebssystem mit reiner 32-Bit-Adressierung kann dann - wie zuvor - den Adressbereich der PCI-Komponenten nicht für RAM nutzen. Die zweite Methode ändert die Adressen einer kompletten Speicherchip-Gruppe, sodass je nach Art der verwendeten Speichermodule ein größeres Loch entsteht - beim Einsatz von zwei 2-GByte-DIMMs, bei denen jeder Rank (siehe c't 2/07, S. 166) 1 GByte groß ist, sind per 32-Bit-Adressierung dann möglicherweise nur 2 GByte erreichbar.

Alle uns bisher bekannten x64-Betriebssysteme nutzen den umgeblendeten Speicher. Aber auch einige Versionen von 32-Bit-Betriebssystemen können mit Physical Address Extension (PAE) bis zu 32 GByte Speicher adressieren. Obwohl jedoch die 32-Bit-Version von Windows XP SP2 (Home und Professional) auf Rechnern mit NX-Bit-tauglichen Prozessoren (Data Execution Prevention/DEP) im PAE-Modus arbeitet, bleibt ihr Adressraum auf die unteren 32 Bit begrenzt. Nur die 32-Bit-Version von Windows Server 2003 Standard Edition kann per PAE volle 4 GByte ansprechen, auch wenn diese zum Teil jenseits des 32-Bit-Adressbereichs liegen - mehr aber auch nicht. Windows Server 2003 Web Edition ist sogar auf 2 GByte limitiert. Zur Nutzung von mehr als 4 GByte benötigt man also ein x64-Betriebssystem oder die teuren Enterprise- oder Datacenter-Versionen von Windows Server 2003 mit 32 Bit und PAE. (ciw) (ciw)