PC-Experience - IT-Portal für Reviews, Artikel, Windows Tipps und Problemlösungen -

PC-Experience
Registrierungdie Foren-Regelndie 2016 überarbeiteten FAQs für unser CMS und das ForumImpressum und DatenschutzSucheKalenderMitgliederlistezu unseren ArtikelnTutorialsZur Startseitezur Forenübersicht


PC-Experience » Artikel und Workshops: » Hardware, Tipps und Tricks: » Arbeitsspeicher: Die 4GB Problematik...(Update 06.02.2016) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Thema ist geschlossen
Zum Ende der Seite springen Arbeitsspeicher: Die 4GB Problematik...(Update 06.02.2016)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Cerberus Cerberus ist männlich
Chefredakteur


Dabei seit: 23.07.2002
Beiträge: 12.049
Herkunft: Lübeck

Achtung Arbeitsspeicher: Die 4GB Problematik...(Update 06.02.2016) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kann ich mein Windows XP 32Bit mit 4 GB Arbeitsspeicher erfolgreich bestücken? nutzen Vista 32Bit oder Windows Seven 32Bit 4GB Speicher wirklich komplett, oder brauche ich dort auch die 64Bit Version...?
Die vielen Fragen nach der Verwendung von 4GB Arbeitsspeicher stellen nach der enormen Preissenkung in den vergangenen Monate keine wirkliche Überraschung dar. Überraschend sind aber die immer noch vorhandenen Fehlinformationen, wenn es darum geht, welches Betriebssystem mit mehr als 2GB Arbeitsspeicher problemlos umgehen kann und welches nicht? Darum hoffen wir mit diesem Artikel etwas Licht ins Dunkel zu bringen...





Die 4GB Adressierung im Detail:


Grundsätzlich ist es so:
unterhalb der magischen 4 GByte Grenze reserviert das BIOS einen Teil des Adressraums für AGP- und PCI-Karten, d.h. sämtliche System-I/O, das BIOS-ROM, alle AGP- und PCI-Karten usw. belegen Adressraum unterhalb 4 GByte. Im Zusammenhang mit Grafikarten wird auch gerne über GART berichtet (Graphics Address Remapping Table), diese Tabelle wird softwaremäßig über einen Treiber realisiert, welcher durch das Betriebssystem initialisiert wird und vom Chipsatz zum Remapping genutzt wird. Das begrenzt die Menge an linear adressierbarem RAM innerhalb der 32-Bit-Grenzen, ähnlich wie früher ISA-I/O die Menge an RAM innerhalb der 20-Bit-Grenzen limitiert hat. Dazu kommt, das Treiber weitere Bereiche beanspruchen können. Der dort liegende physische Speicher ist für das Betriebssystem nicht mehr nutzbar. Wieviel Speicher tatsächlich verloren geht, hängt natürlich von der Hardware-Ausstattung und den Treibern ab und läßt sich darum kaum konkret vorhersagen.
Im Allgemeinen fällt aber mindestens ein Bereich in der Größe des Grafikkartenspeichers weg, dazu addiert sich dann noch der AGP Aperture Size. Dabei handelt es sich um einen vom BIOS reservierten Adressbereich, über den die Grafikkarte via AGP auf zusätzlichen Speicher zugreift. Wer ein Notebook mit VRAM, ein SLI-oder Crossfire-System einsetzt, muß mit weiteren Verlusten bei der Speichernutzung rechnen. Wird also beispielsweise eine Grafikkarte mit 512MB Speicher eingesetzt und der AGP Aperture Size beträgt ebenfalls 512 MB, dann fehlen von 4GB physikalischem Arbeitsspeicher schon mal ad hoc 1GB an adressierbarem Speicher. Dazu kommen dann noch die bereits erwähnten weiteren "Speicherbedürftigen" in eurem System. Mit dem Einsatz von 64-Bit-Betriebssystemen in Verbindung mit x86-64-Prozessoren (Core2 Duo, AMD Athlon 64, Opteron sowie die EM64T-fähigen Versionen des Intel Pentium 4 und Xeon) läßt sich der verlorene physische Speicher dadurch wieder nutzbar machen, daß das BIOS ihn oberhalb der 32-Bit-Grenze wieder einbinden kann. PAE erweitert die Adressierungsfähigkeiten der CPU über Segment-Register auf 36 Bit. Dadurch kann man oberhalb der 4 GByte-Schallmauer wieder RAM ansprechen. Es ist nichts anderes, als eine physische Erweiterung des Busses, denn dort existieren schon seit dem Pentium Pro Prozessor 36 Adressleitungen. Athlon64, Core2 Duo verfügen z.B. intern über 40 Adressleitungen, auch wenn sie das noch nicht zu echten 64Bit Prozessoren macht, aber das ist ein anderes Thema.
Im Klartext:
Aktuelle Prozessoren, die größere Adressbereiche ansprechen können, bieten die Option, mehr physikalischen Speicher zu nutzen. Dadurch wird der Mehraufwand beim Verschieben von Prozessen in den physikalischen Speicher entscheidend verringert. Die 64Bit-Prozessoren sind also zumindest theoretisch in der Lage, auf 2^64 Speicherorte (bzw. 16 Exabytes) zu verweisen, was die Anzahl an Speicherorten, die von 32-bit-Prozessoren angesprochen werden kann, um einige Milliarden Mal erhöht. Ein Manko bleibt aber, alle 64-Bit-Versionen des Microsoft-Betriebssystems besitzen aktuell eine 16-Terabyte-Grenze beim Adressbereich und erlauben darum auch nicht mehr als 128 GB physikalischen Speicher und 16-Terabyte-Arbeitsspeicher derzeit nicht ohnehin noch nicht machbar.
Die Fähigkeit von Windows Vista oder Windows Seven in der 64Bit Variante, mehr Speicherplatz anzusprechen als in den jeweiligen 32Bit-Versionen, trägt demzufolge auch dazu bei, die Zeit für das Ein- und Auslagern von Prozessen in und aus dem Speicher dadurch zu verkürzen, das mehr von diesen Prozessen im RAM abgelegt werden.

Soweit zur Theorie, kommen wir jetzt zur Praxis anhand von Windows XP, Vista und Windows 7...





Die Situation unter Windows XP:


Nach dem Einbau zweier 2GB Module auf unserem Intel X48 System (Asus P5E64 WS Evolution mit Intel E8600) stellt sich die Situation unter unserem XP 32Bit wie folgt dar:








Lasst euch bitte nicht von der Bios Anzeige oder irgendwelchen Tools ins Bockshorn jagen, entscheidend ist, was der Taskmamager vom Betriebssystem anzeigt, denn das ist die Liveverwaltung und was dort nicht zur Disposition steht, ist maßgeblich nicht nutzbar...!

Auch einige Versionen von 32-Bit-Betriebssystemen können unter Zuhilfenahme der Physical Address Extension (PAE) Switches bis zu 32 GByte Speicher adressieren. Kein Feature ohne Ausnahme: Windows XP, denn obwohl 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 der Adressraum auf die unteren 32 Bit begrenzt.
PAE lässt sich zumindest rudimentär durch einen Eingriff in die Boot.ini aktivieren. Hinter den Aufruf des Betriebssystems schreibt man die Option /PAE und startet anschließend Windows neu.


multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /PAE


Anschließend ist in der Systemsteuerung unter System der Hinweis "Physikalische Adresserweiterung" ersichtlich:








Es bewirkt nur nichts und bleibt somit Optik,
denn das Problem ist, daß Windows normalerweise nur bis 2GB für die ausgeführten Programme frei gibt (den Rest behält es sich für den Kernel vor und daran ändert auch der /PAE Schalter in der Boot.ini wenig...!

Nun könnte man die Boot.ini weiter manipulieren, in dem man folgende Zeilen dort ergänzt:

multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3GB /userva=2990

Der Schalter /3GB sorgt dafür, dass Windows XP 32-Bit drei GByte für Usermode- und ein GByte für Kernelmode-Programme zur Verfügung stellt. /userva=2990 sollte dafür sorgen, das Anwendungen, die mit dem 3GB Switch nicht zurechtkommen und abstürzen, trotzdem laufen.
Die Praxis sah in unserem Fall aber so aus, das diese ganzen Schalter und Switches in der Boot.ini außer Bluescreens und anderen heftigen Irritationen nichts bewirkten, darum können wir nur dringend davon abraten, auch wenn unterschiedliche Hardware und Software dies eventuell begünstigen könnte. Probiert es aus, aber bitte auf eigene Gefahr...

Aber warum wehrt sich Windows XP so erfolgreich ?

Die Antwort ist schnell getippt:
Microsoft begrenzt intern die maximale Größe des physischen Speichers auf 4 GByte, was den wichtigsten Nutzen von PAE wieder aufhebt. Erst Windows Server 2003 profitiert wirklich von PAE, allerdings auch nur bis zu den jeweils von Microsoft sowie der Hardware gesetzten Limits. So kann die 2003 Server 32-Bit-Standard-Edition ebenfalls nur maximal 4 GByte RAM adressieren, erst die Enterprise- (32 GByte) und die Datacenter-Edition (64 GByte) schaffen mehr.
Davon mal abgesehen müssen Applikationen diese Speicherzuweisung über PAE auch verwerten können und auch daran hapert es meistens...

Windows und PAE, eine Liste


Der 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, oder eben Vista.
Wer nun aber glaubt, ein 64 Bit Betriebssystem ist das Allheilmittel, um 4 GB RAM voll auszunutzen, irrt, denn das Mainboard muß ein korrekt arbeitendes Memory Remapping bieten können, ansonsten werden auch hier maximal 3,0 oder 3.3 GB zur Verfügung gestellt. In machen Bios Versionen ist diese Option separat dazuschaltbar und entweder als Memory Remap Function, Memory Relocation, Remap PCI Memory Gap, Memory Hoisting, Memory Reclaim oder eben Memory Remapping deklariert. Es existieren aber auch Mutterbretter, die diese Funktion nicht nur implementiert haben, sondern auch automatisch dazuschalten. Darüber hinaus mag es auch abweichende Remapping Formulierungen für eure Mainboards geben, im Zweifel also bitte beim Hersteller nachfragen...



Wie man sieht, hat unser Asus P5E64 WS Evolution eine entsprechende Einstellfunktion im Bios, mit deren Unterstützung Memory Remapping möglich ist, so daß wir gleich die richtige Überleitung zur Situation unter Vista und Windows 7 besitzen...


Noch eine Anmerkung zur Situation für die Windows XP x64 Edition,
diese Version hat dank ihrer 64 bittigen Auslegung keinerlei Probleme 4GB und mehr Arbeitsspeicher zu adressieren respektive zu nutzen:









Zur Situation unter Windows Vista, Windows 7, Windows 8/8.1 und Windows 10:


Hier könnte sogar die 32-Bit Version zumindest theoretisch 4GB komplett verwalten, aber Microsoft hat dies von vorneherein massiv unterbunden. Laut dem MS-Entwickler Doug Cook hat dies auch einen trifftigen Grund: "weil die Hardware-Hersteller nicht immer dafür sorgen, daß ihre Produkte mit RAM-Größen von 4 Gigabyte und mehr zurechtkommen". Viele Hersteller sind nach Angaben von Cook aus Kostengründen nicht bereit, die Voraussetzungen für die Unterstützung von 4 Gigabyte Arbeitsspeicher in ihren Erzeugnissen zu berücksichtigen. So müssten zusätzliche Bauteile verwendet werden, die aber für erhöhte Produktions- und Entwicklungskosten sorgen.
Cook weiter: "Da Microsoft nicht sicherstellen könne, daß alle Hardware-Anbieter ihre Produkte mit der nötigen Ausstattung versehen, habe man entschieden, daß Windows Vista 32-Bit in den Endkunden-Versionen grundsätzlich nur die ersten 32 Bit des Adressraums anspricht. Dadurch schrumpft zwar die Größe des verfügbaren RAMs, doch auch die Zahl der Fehler geht entscheidend zurück."

Daraus folgt: Wer also unter Vista, Windows 7 oder Windows 8/8.1 oder Windows 10 gerne 4GB und mehr Arbeitsspeicher einsetzen möchte, muß zur 64-Bit Version greifen und über ein Mainboard mit den schon angesprochenen Remapping Features verfügen:











Um es gleich vorwegzunehmen, da Vista sich nicht für die Boot.ini interessiert, ist es an dieser Stelle auch nicht möglich Vista 32Bit in irgendeiner Form über PAE-Switches zu manipulieren, da hier Switches wie /IncreaseUserVA unter becedit zum Einsatz kommen, über die wir ebenfalls nichts wirklich positives berichten können...
Wer es trotzdem probieren möchte (wie immer auf eigene Verantwortung), der ruft seine Eingabeaufforderung mit Adminrechten auf (Rechtsklick auf die Verknüpfung unter Start ->Programme ->Zubehör ->Eingabeaufforderung) und gibt dort folgende Zeile ein:

bcdedit /set IncreaseUserVA 3072

Die Vergrößerung des UserVA verkleinert den Adressraum des Windows-Kernels, was unter Vista 32Bit zu Problemen führen kann. Laut Microsofts lassen sich möglicherweise einige Treiber nicht mehr laden oder Windows honoriert unseren Versuch mit einem Bluescreen oder startet schlichtweg nicht mehr. Manche dieser Probleme behebt eine leichte Verkleinerung des User-Mode-Adressbereichs, wozu ein zusätzlicher Schalter dient: Mit /Userva=2900 schrumpft z.B. der maximale Applikations-Adressraum von 3072 auf 2900 MByte.

In der Summe der möglichen Probleme auf unserem System, können wir zum jetzigen Zeitpunkt aber nur davon abraten. Auch neuere Schalter wie z.B. BCDedit /set PAE forceenable sind da wenig hilfreich und erhöhen die Systemstabilität leider nicht...

Es existieren auch Tipps zur Kernelspiegelung, die unter Vista und Windows 7 die Ram Begrenzung freischalten sollen, was scheinbar ansatzweise funktioniert, deren Alltagstauglichkeit aber vom Ersteller abhängt und damit sind sicherlich viele Homeuser überfordert, darum sehen wir von einer Empfehlung ab.


Nachtrag:
Microsoft hat mit dem SP1/SP2 für Vista die Situation nicht geändert, wohl aber die User etwas verwirrt, denn auch unter Vista 32Bit werden jetzt in der Systemübersicht 4GB angezeigt, woraufhin sich natürlich einige Anwender wunderten, das de Facto trotzdem keine 4GB genutzt werden.
Entscheidend ist nach wie vor, was der Taskamanger als verfügbar abbildet, denn was in der Systemübersicht zu sehen ist, beschreibt den installierten RAM, nicht den wirklich nutzbaren !






Für gelegentliche Verwirrung sorgt auch die RAM-Begrenzung unter Vista und Windows 7, die sich aber schnell korrigieren läßt:

RAM Begrenzung abschalten



wichtig: wer Windows 7 Home Premium einsetzt, wird an eine weitere Grenze stossen, für einen produktiven Einsatz von mehr als 16GB RAM ist dieses Betriebssystem nicht geeignet, da das physikalische Maximum erreicht ist. Dafür wäre dann Windows 7 Professional 64Bit, Windows 7 Ultimate 64Bit oder Windows 7 Enterprise 64Bit notwendig, die bis zu 192GB RAM verarbeiten können.

Windows 8/8.1 und Windows 10 sind von diesem spezifischem Problem nicht betroffen ! bereits die normale Version von Windows 8/8.1/10 kann in der 64bit Variante bis zu 128 GB RAM verwalten, die Versionen Windows 8/8.1/10 Pro und Windows 8/8.1 Enterpise respektive Windows 10 Enterprise bis zu 512 GB !







Die Situation unter Linux:


Wer nun denkt, das Linux alles besser kann, der sieht sich eines besseren belehrt, denn unter einem 32 bittigen Linux System müssen ebenfalls PAE-Schalter im Kernel gesetzt werden, um mehr als 2GB Arbeitsspeicher nutzen zu können. Allerdings funktioniert dies dann etwas reibungsloser, als unter Windows XP. Idealerweise sollten ab 4GB Speicher aber auch die 64Bit Varianten der jeweiligen Linux-Distrubutionen verwendet werden.





Fazit:


Was benötigt man also explizit, um 4GB und mehr ohne Bastelarbeiten, effektiv und vor allem stabil zu nutzen?

1. ein 64 Bit Betriebssystem.

2. einen Prozessor der über 40 Adressleitungen verfügt, wie z.B. die aktuellen Core2 Duo >Athlon64 Prozessoren oder einen der aktuellen Serverprozessoren.

3. ein Mainboard, das Memory Remapping ermöglicht.

Wird einer dieser 3 Punkte nicht erfüllt, werden de Facto egal unter welchem Betriebssystem keine vollen 4GB RAM genutzt und die Friggelei unter Windows XP 32Bit oder Vista und Windows 7 können wir nicht ernsthaft empfehlen, das wäre einfach unseriös.

Es spielt auch keine Rolle, ob DDR2, DDR3 oder DDR4-RAM eingesetzt wird, die Problematik als solche bleibt identisch. Im Übrigen existiert ja auch eine x64 Edition von Windows XP, auch wenn diese Variante nie wirklich professionell vermarktet wurde.

Wir haben diesen Artikel inzwischen auch für die Nachfolger von Windows XP, Windows 7 usw. erweitert, da das Thema an sich immer noch aktuell ist und wohl auch bleiben wird.

Nachtrag:
Da einige uns per Mail danach fragten: die Dualchannelfunktion wird auf 32Bit Betriebssystemen wie XP, Vista und auch Windows 7 trotz der geringeren Speicheradressierung nicht negativ beeinflußt, sie bleibt erhalten, was unsere Tests entsprechend bestätigten.





Weiterführende Links:


ADATA XPG Xtreme DDR3-2133 16GB Dual-Channel-Kit

Chaintech Apogee GT Blazer DDRIII 1600 4GB Dualkit

Corsair XMS3 DHX PC3-12800 DDR3 4GB Dualkit

Corsair XMS3 Dominator GT 6GB DDR3-1600 Triple-Channel-Kit

Corsair HX3X12G1333C9 12GB DDR3-1333 Triple-Channel-Kit

Corsair Dominator DDR3-1600 12GB Triple-Channel-Kit

Corsair Dominator Platinum DDR3-1600 32 GB Dual-Channel Kit

Corsair Vengeance DDR3-1600 12GB Triple-Channel-Kit

Corsair Vengeance DDR3-1600 16GB Dual-Channel-Kit

Corsair Vengeance DDR3-1600 32GB Dual-Channel-Kit

Exceleram Rippler DDR3-1600 6GB Triple-Channel-Kit

G-Skill RipJaws DDR3-1600 16GB Dual-Channel-Kit

Mushkin Ascent XP3-12800 996600 2GB Dualkit

Mushkin Redline 998805 6GB DDR3-1600 Triple-Channel-Kit

Patriot Viper DDR3-1600 4GB Dualkit

Super Talent Project X DDR3-1800 2GB Dualkit





Cerberus
15.05.2007 14:13 Cerberus ist offline Homepage von Cerberus Beiträge von Cerberus suchen Nehmen Sie Cerberus in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Neues Thema erstellen Thema ist geschlossen
PC-Experience » Artikel und Workshops: » Hardware, Tipps und Tricks: » Arbeitsspeicher: Die 4GB Problematik...(Update 06.02.2016)


Designed by PC-Experience.de, online seit 06.August 2002
Copyright © 2002 - 2023 PC-Experience.de