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

hills

PC-Selbstbauer(in)
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
 
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
 
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.
 
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.
 
Man muss nicht immer im BIOS was umstellen, wenn dann nennt sich die Option meist Memory Remapping o.ä
 
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?
 
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.
 
Ich gebe zu, meine Frage nicht genau genug gestellt zu haben...
Ich versuche es unten erneut.


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?
 
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.
 
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)
 
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...
 
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]
http://img162.echo.cx/img162/7854/blub5gy.th.png
(Thanks to ImageShack for Free Image Hosting)
[/URL]

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.
 
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?
 
Zuletzt bearbeitet:
Stellt mal den Wert "AGP Aperture Size" im Bios auf 32MB zurück. Dann könnten schon 3,5 GB zur Verfügung stehen.
 
Zurück