# Win XP und 4GB Speicher aber nur 3GB erkannt.



## hills (2. November 2007)

Hi Leute

So hab mir jetzt noch 2GB Speicher dazu gekauft somit habe ich 4GB drine, welches mir auch vom Mainboard angezeigt wird. Doch Windows XP 32Bit erkennt nur 3GB 

Ich weiss das Windows XP nicht mit 4GB umgehen kann doch sollten es mindestens 3,5 GB sein oder.

Hier meine Bot ini vielleicht muss ich ja nen Parameter ändern oder so.
;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /NOEXECUTE=OPTIN /FASTDETECT /USEPMTIMER /3GB /USERVA=2990 /TUTAG=IXRQPA /KERNEL=TUKERNEL.EXE
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition (TuneUp Backup)" /NOEXECUTE=OPTIN /FASTDETECT /TUTAG=IXRQPA-BAK

Wäre für Vorschläge Dankbar


Habe hier mal nachgeschaut werde leider nichzt draus schlau da mein Englisch nicht grade gut ist.
http://translate.google.com/transla...=firefox-a&rls=org.mozilla:de:official&hs=goZ


----------



## ED101 (2. November 2007)

Das liegt daran das die ein 32bit OS einsetzt und das max 4GB verwalten kann und daher den Speicher in sich selbst adressiert und das fehlt dir dann halt. Wenn du alles nutzen willst bleibt dir nur der Umstieg auf ein 64bit OS


----------



## hills (2. November 2007)

Ok nur wieso zeigt der bei mir nur 3 gb an wobei alle sagen das der mindestens 3,5 anzeigen sollte?

Hm hab mal dieses geGoogelt
http://www.pcwelt.de/forum/faqs-und-anleitungen/204665-boot-ini.html


----------



## Adrenalize (2. November 2007)

3,5GB dürften eher das Maximum sein. Der Speicher der Grafikkarte z.B. braucht auch seinen Adressraum, je mehr Sepicher dort drauf ist desto weniger Systemspeicher bleibt übrig.

MS schreibt dazu noch folgendes: http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx
Also muss anscheinend noch ein /PAE in die boot.ini rein zum entsprechenden Eintrag.


----------



## ED101 (2. November 2007)

Schau dir mal den Link auch noch an, ist von einem Vistaentwickler aber trifft auch für XP zu
http://blogs.technet.com/dmelanchthon/archive/2006/11/15/4-gb-ram-mit-windows-vista.aspx


----------



## kmf (2. November 2007)

Ganz wichtig ist, dass das Mainbord 4GB unterstützt, das bedeutet, es muss ein Schalter im Bios vorhanden sein, mit dem man diese Funktionalität einschalten kann. Allgemein ist er unter dem Begriff Memory Remapping bekannt. Ist diese Funktion im Chipsatz nicht vorhanden, nutzt auch ein 64bit Betriebssystem nix, da dort dann auch nur etwas mehr als 3GB zur Verfügung stehen.


----------



## Stefan Payne (2. November 2007)

warum 64bit einfach nötig ist...

Kurzum:
Der Adressraum, der bei 32bit Systemen 4GiB beträgt, ist mit anderen Dingen belegt (GrafikRAM, Treibern/DLLs, Sonstige Speicher/Komponenten, Betriebssystem).

Ich machs mal kurz:
Theoretisches Maximum sind 3,5GB, nur nimmt sich Windows selbst schon 512MiB Adressraum für den Kernel, dann kommt noch die GraKa dazu (-GraKa RAM) und noch andere Dinge.

Mit einem 64bit OS sollten deine Chancen besser sein, di e4GiB auch nutzen zu können.


----------



## EGThunder (2. November 2007)

Mir stehen 3,25GB unter XP zur Verfügung, habe aber auch nichts im BIOS oder so aktivieren müssen.

EG


----------



## ED101 (2. November 2007)

Man muss nicht immer im BIOS was umstellen, wenn dann nennt sich die Option meist Memory Remapping o.ä


----------



## MrMorse (2. November 2007)

Stefan Payne schrieb:


> Kurzum:
> Der Adressraum, der bei 32bit Systemen 4GiB beträgt, ist mit anderen Dingen belegt (GrafikRAM, Treibern/DLLs, Sonstige Speicher/Komponenten, Betriebssystem).
> 
> Ich machs mal kurz:
> Theoretisches Maximum sind 3,5GB, nur nimmt sich Windows selbst schon 512MiB Adressraum für den Kernel, dann kommt noch die GraKa dazu (-GraKa RAM) und noch andere Dinge.



Wo blendet ein 32bit-Windows seinen Adressraum bei 2GB-RAM ein?


----------



## Stefan Payne (3. November 2007)

MrMorse schrieb:


> Wo blendet ein 32bit-Windows seinen Adressraum bei 2GB-RAM ein?


Hm??

Gibt doch eigentlich nur einen Adressraum bei einem 32bit Prozessor, 'alles andere' geht davon ab.


----------



## SilentDemise (3. November 2007)

nicht innerhalb der 2GiB 
stells dir halt so vor, das du 32 leitungen hast, die jeweils den zustand 0 oder 1 darstellen können, du hast also 2hoch 32 möglichkeiten um etwas zu adressieren.  2 hoch 31 werden durch den ram belegt,
die restlichen 2hoch32 - 2hoch31 möglichkeiten sind für graka, kernel usw.
bei 4GiB ram überschneidet sich das eben, und ein teil vom ram fällt weg.


----------



## MrMorse (3. November 2007)

Stefan Payne schrieb:


> Hm??


Ich gebe zu, meine Frage nicht genau genug gestellt zu haben...
Ich versuche es unten erneut.




SilentDemise schrieb:


> nicht innerhalb der 2GiB
> stells dir halt so vor, das du 32 leitungen hast, die jeweils den zustand 0 oder 1 darstellen können, du hast also 2hoch 32 möglichkeiten um etwas zu adressieren.  2 hoch 31 werden durch den ram belegt,
> die restlichen 2hoch32 - 2hoch31 möglichkeiten sind für graka, kernel usw.
> bei 4GiB ram überschneidet sich das eben, und ein teil vom ram fällt weg.



2 hoch 31 = 2GB (wenn ich mich nicht irre...)
Jetzt packe ich mein 'Halbwissen' mal aus:

1. Ein 32bit-System kann 2 GB direkt in den Registern adressieren. Es kann alle Speicherzellen bis 2GB-RAM erreichen. Die gesamten 2 GB wird als RAM erkannt.
Soweit, so gut.

2. Ein 32bit-System hat jetzt 4 GB RAM. Es kann 2GB direkt adressieren. Durch das Remapping können aber auch die Speicheradressen oberhalb von 2 GB angesprochen werden.

(Ist das bis hierhin korrekt?)

Jetzt kommt das, was ich nicht verstehe:
Es wird bei einem 4GB-RAM-System immer gesagt, daß hier Adressräume von diversen Komponenten belegt wird (Graka, etc). Diese liegen oberhalb von 2 GB. Da hier RAM belegt wird, werden weniger als 4GB als RAM vom System erkannt.

Jetzt die Frage:
Bei dem System unter "1." mit 2 GB-RAM: werden hier keine Adressräume im 2GB-RAM von Komponenten belegt?
Wenn doch: Warum wird trotzdem der gesamte RAM von 2GB ausgewiesen und nicht nur der freie Teil davon?


----------



## Adrenalize (3. November 2007)

MrMorse schrieb:


> Jetzt die Frage:
> Bei dem System unter "1." mit 2 GB-RAM: werden hier keine Adressräume im 2GB-RAM von Komponenten belegt?
> Wenn doch: Warum wird trotzdem der gesamte RAM von 2GB ausgewiesen und nicht nur der freie Teil davon?



Ich versuchs mal so zu erklären, wie ich es verstehe:
1. eine ältere CPU hat 32Bit Register, mit denen kann sie 4GiB an Speicher adressieren (RAM, Grafikkarte etc.)
2. eine neuere CPU hat mehr Bit. Der Athlon XP glaubich 36bit, Athlon 64 und Intel 64 haben afaik 40 oder 48 Bit (keine 64)

Also könnte eine halbwegs aktuelle schon mehr als 4GB RAM verwalten. Das Problem ist jetzt nur, dass die Windows-Versionen für Zuhause nicht mehr können, XP Home/Prof, Vista32...
Wenn nur 2GiB RAM verbaut sind, kein Problem, hälfte der Register belegt, Rest reicht für weitere 2GiB an Speicher.
Wenn jetzt aber 4GiB verbaut sind, sind 2^32 Register belegt. Die CPU könnte aber mehr adressieren, sie hat ja mehr Bit. Nur müssen Bios und OS das zulassen. Bei Windows Server kann man jetzt PAE benutzen und die restlichen Register der CPU nutzen, dann hat man volle 4GiB RAM. Unter Linux ebenfalls.
Wer es möchte, kanns ja mal probieren. mit einer Ubuntu-Live CD oder Knoppix  in der 32Bit-Version sollten Knapp 4 GiB angezeigt werden (bei mir warens 3,95 GiB iirc).
Ansonsten liegen halt die üblichen Register in der CPU ungenutzt brach, nur 2^32 Register werden benutzt, und es reicht nicht, um die 4GiB RAM voll zu adressieren, weil eben andere Sachen auch adressiert werden müssen. also sieht man nur 3-3,5 GiB RAM.


----------



## ED101 (3. November 2007)

Nutz einfach mal Google, da gibt es verschiedene Ausführungen der Erklärung wieso keine4 GB genutzt werden können, da ist bestimmt auch eine dabei die du "verstehst" (bitte nicht falsch auffassen)


----------



## MrMorse (3. November 2007)

ED101 schrieb:


> Nutz einfach mal Google, da gibt es verschiedene Ausführungen der Erklärung wieso keine4 GB genutzt werden können, da ist bestimmt auch eine dabei die du "verstehst" (bitte nicht falsch auffassen)



Naja, das ist eine rein technische Materie und auch nicht einfach zu verstehen bzw. zu erklären.
Sicher kann ich googlen, aber ich kann nicht unterscheiden, ob das Gefundene eine richtige Erklärung oder eine halbwissende ist (selbst nicht in WiKiPedia).
Außerdem hatte ich gehofft, hier jemanden zu finden, der das GENAU erklären kann, weil von Usern des öfteren das Thema mit dem 'Einblenden' von Adressbereichen genannt wird...


----------



## hills (3. November 2007)

ED101 schrieb:


> Man muss nicht immer im BIOS was umstellen, wenn dann nennt sich die Option meist Memory Remapping o.ä



Wie gesagt wenn ich dieses Aktiviere zeigt mir ja das Board auch 4GB an nur halt bei XP "nur" 3 GB und nicht etwa 3,25 oder 3,5:frown:


----------



## Stefan Payne (3. November 2007)

Adrenalize schrieb:


> Ich versuchs mal so zu erklären, wie ich es verstehe:
> 1. eine ältere CPU hat 32Bit Register, mit denen kann sie 4GiB an Speicher adressieren (RAM, Grafikkarte etc.)
> 2. eine neuere CPU hat mehr Bit. Der Athlon XP glaubich 36bit, Athlon 64 und Intel 64 haben afaik 40 oder 48 Bit (keine 64)


Streich das 'Speicher', dann passts besser, denn es ist eben NICHT nur RAM/Speicher der adressiert werden muss!

Bei Spielen muss z.B. die gesamte Umwelt adressiert werden, ich borg mir mal einfach Gloomys Bild aus dem oben verlinkten Thread:


[URL=http://img162.echo.cx/my.php?image=blub5gy.png]


			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        


(Thanks to ImageShack for Free Image Hosting)
[/URL]



Adrenalize schrieb:


> Also könnte eine halbwegs aktuelle schon mehr als 4GB RAM verwalten. Das Problem ist jetzt nur, dass die Windows-Versionen für Zuhause nicht mehr können, XP Home/Prof, Vista32...


Mehr ja, aber nur in 4 GiB häppchen, Segmentierung/DOS lässt grüßen.

Aus dem Grunde nutzt man PAE auch nur, wenn mans absolut muss, ist nämlich übelster Mist und übelst lahm, ganz ab davon muss die Software das auch noch selbst unterstützen.


----------



## MrMorse (3. November 2007)

Das mit der virtuellen Speicherverwaltung ist mir durchaus geläufig. 
Aber das erklärt das Topic nicht. Da gehts darum, daß eine bestimmte Speicherkapazität nicht angezeigt wird.

Ich versuche mal aus dem bisher beschriebenen und meinem Halbwissen einen 'Schuh' draus zu machen, warum der Speicherbereich fehlt:

Generell gilt:
Nach dem Start verteilt das 32-bit-Betriebssystem den adressierbaren (virtuellen) Speicher von 4GB (egal, wieviel physischer RAM existiert).
Es gibt virtuelle Adressräume, die von 'unten' her belegt werden. Ich nenne diese mal User-Daten (Anwendungen, DLLs, etc).
Dann gibt es virtuelle Adressräume, die von oben (also von 4GB abwärts) die Adressen belegen (Betriebssystemdaten, Kernel, etc).

Jetzt die Auswirkungen:
- Bei 2 GB RAM stören die von 'oben' adressierten Bereiche nicht, weil sie außerhalb des realen adressierbaren RAMs stehen. Deshalb werden die 2GB komplett als RAM angezeigt.
- Bei 4GB RAM entsprechen aber die von 'oben' herabadressierten virtuellen Adressräume bereits real adressierbarem RAM, der dann vom PC als nicht mehr freier Speicher ausgewiesen wird.

=> bei einem 64-bit Betriebssystem fängt der der 'oberste' virtuelle Adressbereich nicht bei 4GB an, sondern bei 1 Terabyte (40 Adressleitungen, nicht 64!)
Und von 1 Terabyte die Adressräume 'top-down' zu belegen, das dauert wohl, bis der Adressraum den physischen RAM 'trifft'.
Deshalb werden hier die kompletten 4GB RAM als Speicher angezeigt.


Hm, ist das so beschrieben, daß man es verstehen kann?


----------



## Murmel (10. November 2007)

Stellt mal den Wert "AGP Aperture Size" im Bios auf 32MB zurück. Dann könnten schon 3,5 GB zur Verfügung stehen.


----------



## Stefan Payne (10. November 2007)

schlechter Vorschlag denn das kostet ENORM Performance, ganz ab davon gibts sowas nur bei AGP, bei PCie machts der Treiber selbst.

Wie dem auch sei, ein 64bit Windows wär da wohl die bessere Wahl, zur not täts auch die (legale) 120 Tage Testversion von XP64...


----------



## Murmel (11. November 2007)

Stefan Payne schrieb:


> schlechter Vorschlag denn das kostet ENORM Performance,


Kommt wohl darauf an, wieviel Ram auf der Graka verbaut ist. Ich zocke selbst Bf2 aber irgendwelche Einbusen habe ich da nicht.


----------



## Stefan Payne (11. November 2007)

Murmel schrieb:


> Kommt wohl darauf an, wieviel Ram auf der Graka verbaut ist.


Nee, eben nicht...


----------



## Murmel (11. November 2007)

Stefan Payne schrieb:


> Nee, eben nicht...


Bei ner Graka mit 256MB oder weniger, hilft das schon, wenn man den Wert hochschraubt, wegen der Texturauslagerung. Oder was meinst du denn nun genau mit der Performance? Wie gesagt, ich merke keinen Unterschied ob nun 32 oder mit dem höchsten Wert 512. Einzig am RAM sehe ich es, das beim booten schon weniger als 4GB angezeigt wird.


----------

