web-dev-qa-db-fra.com

Pourquoi plus de 3 Go de RAM ne sont-ils pas reconnus lors de l'utilisation d'AMD64?

Pourquoi Ubuntu 10.10 AMD64 (Maverick Meerkat) ne traite-t-il pas plus de 3 Go de RAM?

Ma machine est un processeur Intel Centrino Duo 64 bits Toshiba P205-S6287 et 4 Go RAM à 667 MHz.

Selon le spécifications détaillées , le notebook utilise un processeur Core 2 Duo T5300 64 bits et un chipset 945GM Express.

8
Diego

Cela est dû au Mobile Intel 945GM Express de votre ordinateur portable.

Je possède un Thinkpad T60, qui utilise le même chipset. Il s’agit de l’un des premiers northbridges d’Intel pour les processeurs Core2Duo 64 bits. Ils ont échoué dans sa conception.

Théoriquement, le chipset ne peut adresser que 4 Go de RAM, mais doit également s’adresser à un autre matériel (mémoire E/S). Il réserve la plage de mémoire supérieure de 1 Go pour cela. La prise en charge de l'adresse mémoire logique 64 bits dans le noyau Linux n'aide pas, car la carte mère et le northbridge fournissent uniquement un bus d'adresse physique 32 bits à la CPU. Et il n'y a pas de solution de contournement.
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

Il existe une option théorique dans la conception de la commutation de banque de mémoire. Pourtant, le noyau ne le supporte pas, et cela n’a aucun sens pour l’architecture x86. Le contrôleur de mémoire i810 du 945GM est probablement trop paresseux pour que cela ait un sens.

16
mario

Il y a plusieurs raisons possibles.

La première est que vous n'exécutez pas la version AMD64. Une autre est que votre carte mère et/ou votre BIOS sont en panne et ne signalent pas la quantité correcte de RAM.

Une autre solution est que la mémoire vidéo et d’autres ressources matérielles occupent de l’espace dans la zone de mémoire de 3 à 4 Go et que votre carte mère/BIOS n’est pas en mesure de faire passer la RAM cachée à des adresses plus élevées afin de pouvoir y accéder.

Déterminer ce qui nécessite de regarder votre sortie dmesg.

1
psusi

Ma réponse courte est: probablement parce que le concepteur de BIOS était négligé.

La longue réponse est:

Bien que vous ayez 4 Go RAM installés, , vous ne pouvez pas vous attendre à avoir 4 Go de RAM utilisable disponible avec le chipset Intel 945GM. Ceci est une limitation du chipset. Vous pouvez le dire à partir des spécifications du chipset:

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

Extrait de la section 9.2: " L'émoire MC ontroller H ubs fournit un espace de décodage d'adresse DRAM maximal de 4 Go. MCH ne remappe pas l'APIC ni le PCI Express Cela signifie que lorsque la quantité de mémoire physique occupée dans le système atteint 4 Go, il restera une mémoire physique qui existe mais qui n’est pas adressable et qui est donc inutilisable pour le système. "

Le BIOS doit réserver des plages d’adresses pour plusieurs ressources, c’est-à-dire le BIOS lui-même, l’espace mappé en mémoire PCI et PCI Express, les graphiques internes, l’espace mémoire APIC et d’autres fenêtres mémoire pour l’accès aux E/S. Toutes ces plages d'adresses doivent se situer dans l'espace d'adressage de 4 Go et occuper par conséquent des plages d'adresses qui ne sont plus disponibles pour la mémoire système. Vous pourriez dire que ces ressources "volent" l'espace mémoire physique RAM.

Cela étant dit, si vous avez 4 Go installés , vous pouvez vous attendre à disposer de plus de 3 Go de mémoire système disponible .

La quantité de mémoire physique disponible sur le système dépend de l'effort que le concepteur de BIOS déploie pour organiser ces plages d'adresses. Par exemple, le BIOS pourrait allouer la plus petite quantité nécessaire pour chaque ressource. Cela pourrait également permettre de désactiver ou de limiter l’allocation d’adresses pour le PCI Express en fonction de l’utilisation des périphériques PCI Express par votre système.

Le concepteur de BIOS de votre système a probablement fixé la limite supérieure de RAM utilisable à un maximum statique de 3 Go bien que vous ayez installé 4 Go. Cette approche fournit une fenêtre d'adresse statique de 1 Go au concepteur de BIOS, ce qui simplifie la tâche des concepteurs de BIOS pour allouer des plages d'adresses aux ressources afin qu'elles n'entrent en conflit avec aucune autre plage d'adresses.

1
Daniel K.

le psusi a raison.

J'ai la même situation ici:

Bien qu'ils l'appellent "CPU 64 bits", vous ne pouvez souvent pas gérer plus de 4 Go de mémoire.

La plupart des anciennes cartes mères ne disposent que de 32 bits pour les adresses et de ce pool, la carte graphique doit également obtenir leurs adresses.

= 4 Go - mémoire de la carte graphique (1 Go) = 3 Go.

Je crains qu'il n'y ait aucune possibilité de résoudre ce problème en appliquant des correctifs ou en mettant à niveau le micrologiciel.

Si vous êtes intéressé par les détails, je vous recommande: extension d'adresse physique

0
aatdark