4GB Arbeitsspeicher unter Windows XP / Vista: Die ganze Wahrheit

Coolface

New member
Da in dem Forum immer wieder die Frage auftaucht, ob 4 GB oder mehr mit Windows funktionieren oder nicht. Hier eine kleine Erläuterung zu dem Thema. Als aktuelle Beispiele werden hier Windows XP und Windows Vista verwendet.

F: "Kann mein 32-Bit Windows XP / Vista mehr als 4 GB erkennen?"
A: Generelle Antwort: Nein. Windows XP und Vista in der 32-Bit Fassung sind NICHT in der Lage mehr als 4 GB zu erkennen. Woran liegt das? Ganz einfach. Ein 32-Bit BS verwendet zur Adressierung des Arbeisspeichers 32-Bit lange Register was bei 2^32 Byte = 4GB entspricht. Alle Speicherbereiche, die über die 4GB hinausgehen, sind ganz einfach für das BS nicht erreichbar.
Im Gegensatz dazu unterstützt ein 64-Bit Betriebssystem Register mit einer Länge von maximal 64-Bit (aktuelle Architekturen (AMD64 / Intel64) nutzen zur Adressierung aber nur 48-Bit), was 2^64 = 16 EB (1 Exa Byte = 1024 * 1024 * 1024 GB) entspricht. Aufgrund der restriktiven Lizensierung seitens MS sind aber auch die 64-Bit Versionen auf maximal 128 GB beschränkt.

F: "Okay, aber warum erkennt mein Windows dann nur 3,X GB Arbeistspeicher, anstatt 4?"
A: Auch ganz einfach. Dem Bestriebssystem stehen nicht die gesamten 2^32 Byte Adressen für den Speicher zur Verfügung. Interne Geräte, wie Grafikkarte, etc. müssen auch adressiert werden. Und eben dafür kommt der obere Adressierungsbereich zum Einsatz, so dass einem unter Umständen maximal 3,5 GB angezeigt werden.

F: "Mein Windows Vista 32-Bit erkennt aber die 4GB komplett!"
A: Ja, erkennen schon, nur nutzen: Nein. Dieses Phänomen gibt es seit Vista SP1 und Microsoft hat sich dazu entschieden nun den gesamten Speicher anzeigen. Ändern tut das aber nichts. Das Adressierungslimit verbleibt bei besagten 3,5 GB.

Natürlich gibt es Ausnahmen. 32-Bit Betriebssysteme sind sehr wohl in der Lage mehr als 4GB zu adressieren, und zwar durch eine nette Erfindung namens "Physical Address Extension" (PAE). Dabei handelt es sich um eine Eigenschaft des Prozessors, von 32-Bit Registern auf 36-Bit Registern mappen zu können. Und 36-Bit Register ermöglichen das Adressieren von 2^36 Byte = 64 GB. PAE muss aber auch vom Betriebssystem unterstützt werden. Aktuelle Microsoft Betriebssysteme unterstützen generell PAE, nur dachte sich Microsoft, dass ein Desktopanwender damit sowieso nichts anzufangen weiß und hat in allen 32-Bit Varianten den PAE Support nicht in Nutzung. Erst Windows Server 2003 / 2008 in der Enterprise / Datacenter Edition kann in der 32-Bit Version bis zu 64 GB adressieren.

F: "Ich habe ein 64-Bit Betriebssystem, aber es erkennt dennoch nicht mehr als 4GB. Was soll das?"
A: Hier liegt das Problem möglicherweise im Memory Remapping. Das ist ein "Feature", welches man im Bios seines Boards aktivieren, bzw. deaktivieren kann. Dabei scheint das Board in einer Art 32-Bit Kompatibilitätsmodus zu verweilen, sollte es deaktiviert sein. Sollte also das Betriebssystem nicht mehr als 4 GB erkennen, liegt es wahrscheinlich daran. Man sollte also einen Blick ins Bios werfen.

Hier nun noch eine Liste der Betriebssysteme und ihre tatsächliche Arbeitsspeicherunterstützung:

32-Bit

  • Windows XP (Home / Professional / Media Center): Max. 4GB, aber nur 3,5 nutzbar und anzeigbar
  • Windows Vista (Alle Versionen): Max 4GB, aber nur 3,5 nutzbar und ab SP1 4GB anzeigbar

64-Bit

  • Windows XP 64: Max. >128GB
  • Windows Vista (Home Basic): Max. 8 GB
  • Windows Vista (Home Premium): Max 16 GB
  • Windows Vista (Business / Enterprise / Ultimate): > 128 GB

Ich hoffe, dass damit einige Unklarheiten beseitigt werden 🙂.
 
Zuletzt bearbeitet:
Vielleicht eine Ergänzung: Memory Remapping
Es kann nämlich auch bei 64 Bit Betriebssystemen dazu kommen, dass nicht mehr als 4GB genutzt werden, da mittels Remapping der höhere Speicherbereich genutzt werden will 🙂
Die Frage kam zumindest auch das ein oder andere Mal auf.
 
Ich habe grad mal gegoogelt und habe festgestellt das Vista in 64 bit Versionen mehr als nur 16 GB verwalten.

Home Basic 64 bit: 8 GB
Home Premium 64 bit: 16 GB
Busines, Enterprise und Ultimate 64 bit: 128 GB

Wenn ich mich irre bitte bescheid geben..
Grüße
 
Okay golrado, Du scheinst recht zu haben. Hierbei handelt es sich aber lediglich um beabsichtigte Restriktionen seitens MS, theoretisch ist die von mir angegebene Zahl möglich.

Wegen Memory Mapping: Ich muss zugeben, dass ich mich damit nicht allzu gut auskenne, also wäre es nett Gandalf, wenn Du dazu noch ein paar Worte verlieren könntest.
 
Wenn das Memory Remapping nicht aktiv ist, bleibt die Hardware quasi im 32 Bit Modus, es lassen sich also weiterhin nur 4GB Speicher adressieren.
Du erwähntest schon, dass die Prozessoren mehr Adressleitungen haben als 32 und um diese zu nutzen, wird Memory Remapping aktiviert.

Es gibt halt die Speicherbereiche oberhalb von 32Bit frei, die dann durch ein 64 Bit OS oder PAE genutzt werden können.
Mittlerweile arbeiten die Betriebssysteme ja so oder so nur noch mit virtuellen Adressräumen.
Die virtuellen Adressen werden dann auf physikalische "gemappt", dafür sind die Speicherverwaltungseinheit (MMU) und TLB (ja bekannt durch den ominösen Bug) zuständig.
 
Ja, das versteh ich unter PAE ^^. Wusste nich, dass man 64-Bit OS ohne Memory Mapping auf 4GB beschränkt. Kommt mir ehrlich gesagt etwas seltsam vor, da ja anders als bei PAE keine Mappingtabelle benötigt wird, um den Speicher zu adressieren.
 
Danke dir Coolie,
ich setzt den Beitrag auf Sticky. Das wird hoffentlich viel Kummer vermeiden für die nächste Zeit 🙂
 

Online-Statistiken

Zurzeit aktive Mitglieder
0
Zurzeit aktive Gäste
32
Besucher gesamt
32

Beliebte Forum-Themen

Zurück
Oben Unten