Warum adressiert Ubuntu 10.10 amd64 (Maverick Meerkat) nicht mehr von 3 GB RAM?
Mein Computer ist ein Toshiba P205-S6287 Intel Centrino Duo 64-Bit-Prozessor und 4 GB RAM bei 667 MHz.
Gemäß den detaillierten Spezifikationen verfügt das Notebook über einen 64-Bit-Core 2 Duo T5300-Prozessor und einen 945GM Express-Chipsatz.
64-bit
ram
architecture
Peter Mortensen
quelle
quelle
uname -a
, die Ausgabe von meldenfree -m
und auch bestätigen, dass mehr als 3 GB RAM aktiv sind, indem Sie sich Ihren dmidecode ansehen.uname -a
sagt das aus?Antworten:
Dies liegt am mobilen Intel 945GM Express in Ihrem Laptop.
Ich besitze ein Thinkpad T60, das denselben Chipsatz verwendet. Es war eine der ersten Northbridges von Intel für die Core2Duo 64-Bit-CPUs. Sie haben es nicht entworfen.
Der Chipsatz kann theoretisch nur 4 GB RAM adressieren, muss jedoch auch andere Hardware (E / A-Speicher) adressieren. Es reserviert dafür den oberen 1 GB Speicherbereich. Die Unterstützung für logische 64-Bit-Speicheradressen im Linux-Kernel hilft nicht, da das Mainboard und Northbridge nur einen physischen 32-Bit-Adressbus zur CPU bereitstellen. Und es gibt keine Problemumgehung.
http://forums.lenovo.com/t5/T61-and-prior-T-series-ThinkPad/Thinkpad-s-and-N100-sw-945PM-chipset-can-t-address-gt-3G-Ram/ mp / 2730
quelle
Meine kurze Antwort lautet: Wahrscheinlich, weil der BIOS-Designer schlampig war.
Die lange Antwort lautet:
Obwohl Sie 4 GB RAM installiert haben, können Sie nicht erwarten, dass mit dem Intel 945GM-Chipsatz 4 GB nutzbarer RAM verfügbar sind. Dies ist eine Chipsatzbeschränkung. Sie können dies an der Spezifikation des Chipsatzes erkennen:
http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/mobile-945-express-chipset-datasheet.html
": Zitat aus Abschnitt 9.2 Die M emory C ontroller H . Adressdekodierungsraum von 4 GB Des MCH nicht Neueingliederungssteuersignal APIC oder PCI - Express - Speicherraum ubs maximal DRAM liefert Dies bedeutet , dass die Menge an physikalischem Speicher im System erreicht besiedelt. 4 GB, es wird physischen Speicher geben, der noch nicht adressierbar und daher für das System unbrauchbar ist. "
Das BIOS muss Adressbereiche für mehrere Ressourcen reservieren, dh das BIOS selbst, PCI- und PCI Express-Speicherzuordnungsspeicher, interne Grafiken, APIC-Speicherbereich und andere Speicherfenster für den E / A-Zugriff. Alle diese Adressbereiche müssen innerhalb des 4-GB-Adressraums liegen und als solche Adressbereiche belegen, die dem Systemspeicher nicht mehr zur Verfügung stehen. Man könnte sagen, diese Ressourcen "stehlen" physischen RAM-Speicherplatz.
Wenn Sie jedoch 4 GB installiert haben , können Sie davon ausgehen, dass mehr als 3 GB Systemspeicher verfügbar sind .
Die Menge an physischem Speicher, die dem System zur Verfügung steht, hängt davon ab, wie viel Aufwand der BIOS-Designer in die Anordnung dieser Adressbereiche investiert. Beispielsweise könnte das BIOS den geringsten für jede Ressource erforderlichen Betrag zuweisen. Abhängig von der Verwendung von PCI Express-Geräten durch Ihr System kann die Adresszuweisung für PCI Express deaktiviert oder eingeschränkt werden.
Der BIOS-Designer Ihres Systems hat wahrscheinlich die Obergrenze des nutzbaren Arbeitsspeichers auf ein statisches Maximum von 3 GB festgelegt, obwohl Sie 4 GB installiert haben. Dieser Ansatz bietet dem BIOS-Designer ein statisches Adressfenster von 1 GB und vereinfacht somit die Aufgabe der BIOS-Designer, Adressbereiche für die Ressourcen zuzuweisen, damit sie nicht mit anderen Adressbereichen in Konflikt stehen.
quelle
Es gibt mehrere mögliche Gründe.
Zum einen führen Sie den amd64-Build tatsächlich nicht aus. Ein weiterer Grund ist, dass Ihr Motherboard und / oder BIOS defekt sind und nicht die richtige RAM-Größe melden.
Ein weiterer Grund ist, dass Sie über Videospeicher und andere Hardwareressourcen verfügen, die Speicherplatz im Bereich von 3 bis 4 GB Speicherplatz beanspruchen, und dass Ihr Motherboard / BIOS den schattierten RAM nicht auf höhere Adressen heben kann, damit auf ihn zugegriffen werden kann.
Finden Sie heraus, was es erfordert, Ihre
dmesg
Ausgabe zu betrachten.quelle
Psusi ist richtig.
Ich habe hier die gleiche Situation:
Obwohl sie es "64-Bit-CPU" nennen, können Sie oft nicht 4 GB + Speicher adressieren.
Die meisten alten Motherboards haben nur 32 Bit für die Adressen und aus diesem Pool muss die Grafikkarte auch ihre Adressen erhalten.
= 4 GB - Grafikkartenspeicher (1 GB) = 3 GB.
Ich fürchte, es gibt keine Möglichkeit, dies durch Patchen oder Aktualisieren der Firmware zu beheben.
Wenn Sie im Detail interessiert sind, empfehle ich: Physical Address Extension
quelle