it-swarm.com.de

Warum werden mehr als 3 GB RAM bei Verwendung von AMD64 nicht erkannt?

Warum adressiert Ubuntu 10.10 AMD64 (Maverick Meerkat) nicht mehr als 3 GB RAM?

Mein Computer ist ein Intel Centrino Duo 64-Bit-Prozessor P205-S6287 von Toshiba und 4 GBRAMbei 667 MHz.

Entsprechend den detaillierten Spezifikationen wird auf dem Notebook ein 64-Bit Core 2 Duo T5300-Prozessor und ein 945GM Express-Chipsatz verwendet.

8
Diego

Dies liegt am Mobile 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 aber auch andere Hardware (E/A-Speicher) adressieren. Dafür reserviert es den oberen Speicherbereich von 1 GB. Die 64-Bit-Unterstützung für logische Speicheradressen im Linux-Kernel hilft nicht weiter, da das Mainboard und die Northbridge nur einen 32-Bit-Bus für die physische Adresse der 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 -Adresse-gt-3G-Ram/mp/27

Es gibt eine theoretische Möglichkeit, eine Speicherbankumschaltung zu entwickeln. Der Kernel unterstützt es jedoch nicht, und in der x86-Architektur macht es auch keinen Sinn. Der i810-Speichercontroller des 945GM ist wahrscheinlich zu faul, um einen Sinn zu ergeben.

16
mario

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 Menge an RAM melden.

Ein weiterer Grund ist, dass Sie über Videospeicher und andere Hardwareressourcen verfügen, die im Speicherbereich von 3 bis 4 GB Platz beanspruchen, und Ihr Motherboard/BIOS nicht in der Lage ist, die gespiegelten RAM Adressen auf höhere Adressen zu heben, damit sie gespeichert werden können zugegriffen.

Finden Sie heraus, für welche Ausgabe Sie sich dmesg ansehen müssen.

1
psusi

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. Das können Sie an der Spezifikation des Chipsatzes ablesen:

http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/mobile-945-express-chipset-datasheet.html

Zitat aus Abschnitt 9.2: " Der M Emory C ontroller H ubs stellt einen maximalen DRAM-Adressdecodierungsspeicher von 4 GB bereit. Der MCH ordnet APIC oder PCI Express nicht neu zu Speicherplatz. Dies bedeutet, dass, wenn der im System vorhandene physische Speicher 4 GB erreicht, physischer Speicher vorhanden ist, der noch nicht adressierbar ist und daher vom System nicht verwendet werden kann.

Das BIOS muss Adressbereiche für mehrere Ressourcen reservieren, d. H. Für das BIOS selbst, für den PCI- und PCI Express-Speicher, für interne Grafiken, für den APIC-Speicher und für andere Speicherfenster für den E/A-Zugriff. Alle diese Adressbereiche müssen innerhalb des 4-GB-Adressraums liegen und damit 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. Das BIOS könnte beispielsweise die geringste Menge zuweisen, die für jede Ressource benötigt wird. Abhängig von der Verwendung von PCI Express-Geräten in Ihrem System kann die Adresszuweisung für PCI Express deaktiviert oder eingeschränkt werden.

Der BIOS-Designer Ihres Systems hat wahrscheinlich die Obergrenze für verwendbares RAM auf ein statisches Maximum von 3 GB festgelegt, obwohl Sie 4 GB installiert haben. Dieser Ansatz stellt dem BIOS-Designer ein statisches Adressfenster von 1 GB zur Verfügung und vereinfacht somit die Aufgabe des BIOS-Designers, Adressbereiche für die Ressourcen zuzuweisen, damit sie nicht mit anderen Adressbereichen in Konflikt stehen.

1
Daniel K.

psusi ist richtig.

Ich habe die gleiche Situation hier:

Obwohl sie es "64-Bit-CPU" nennen, können Sie 4 GB + Speicher oft nicht adressieren.

Die meisten alten Motherboards haben nur 32 Bit für die Adressen, und aus diesem Pool muss auch die Grafikkarte ihre Adressen abrufen.

= 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

0
aatdark