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


8

Pourquoi Ubuntu 10.10 amd64 (Maverick Meerkat) n'adresse-t-il pas plus de 3 Go de RAM?

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

Selon les spécifications détaillées , l'ordinateur portable exécute un processeur Core 2 Duo T5300 64 bits et dispose d'un chipset 945GM Express.


3
C'est un mystère, pouvez-vous signaler la sortie de uname -a, la sortie de free -met également confirmer que vous avez plus de 3 Go de RAM actif en regardant votre dmidecode.
Martin Owens -doctormo-

1
Et êtes-vous sûr d'avoir la version 64 bits d'Ubuntu. Que uname -adit-on?
Vojtech Trefny

même problème, optiplex gx620 5 Go de RAM

Réponses:


16

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

Je possède un Thinkpad T60, qui utilise le même chipset. Il a été l'un des premiers ponts nord d'Intel pour les processeurs Core2Duo 64 bits. Ils ont échoué dans sa conception.

Le chipset ne peut théoriquement adresser que 4 Go de RAM, mais doit également adresser d'autres matériels (mémoire d'E / S). Il réserve pour cela la plage de mémoire supérieure de 1 Go. La prise en charge des adresses de mémoire logique 64 bits dans le noyau Linux n'aide pas, car la carte mère et le pont nord ne fournissent qu'un bus d'adresse physique 32 bits vers le CPU. Et il n'y a pas de solution.
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

Il existe une option théorique pour concevoir une commutation de banque de mémoire. Pourtant, le noyau ne le prend pas en charge, et cela n'aurait aucun sens sur l'architecture x86. Le contrôleur de mémoire i810 du 945GM est probablement trop paresseux pour que cela ait du sens.


1

Ma réponse courte est: probablement parce que le concepteur du BIOS était bâclé.

La longue réponse est:

Bien que 4 Go de RAM soient installés, vous ne pouvez pas vous attendre à avoir 4 Go de RAM utilisable avec le chipset Intel 945GM. Il s'agit d'une limitation du chipset. Vous pouvez le constater à partir des spécifications du chipset:

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

Citation de l' article 9.2: " Le M émoire C ontroller H . Ubs fournit un espace de décodage d'adresse DRAM maximum de 4 Go La MCH ne pas remap APIC ou espace mémoire PCI Express Cela signifie que la quantité de mémoire physique rempli dans la partie du système. 4 Go, il y aura de la mémoire physique qui n'est pas encore adressable et donc inutilisable par le système. "

Le BIOS doit réserver des plages d'adresses pour plusieurs ressources, à savoir 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 de 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 occupent donc des plages d'adresses qui ne sont plus disponibles pour la mémoire système. On pourrait dire que ces ressources "volent" l'espace mémoire RAM physique.

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

La quantité de mémoire physique disponible pour le système dépend de l'effort que le concepteur de BIOS met dans l'organisation de ces plages d'adresses. Par exemple, le BIOS peut allouer le moins de ressources nécessaires à chaque ressource. Ou cela pourrait permettre de désactiver ou de limiter l'allocation d'adresses pour PCI Express en fonction de l'utilisation des périphériques PCI Express par votre système.

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


1

Il y a plusieurs raisons possibles.

La première est que vous n'exécutez pas la version amd64. Un autre est que votre carte mère et / ou votre BIOS sont cassés et ne signalent pas la quantité correcte de RAM.

Un autre est que vous avez de la mémoire vidéo et d'autres ressources matérielles occupant de l'espace dans la zone de mémoire de 3 à 4 Go, et votre carte mère / BIOS est incapable de hisser la RAM ombrée à des adresses plus élevées pour qu'elle soit accessible.

Comprendre ce qui nécessite de regarder votre dmesgsortie.


0

psusi a raison.

J'ai la même situation ici:

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

La plupart des anciennes cartes mères n'ont que 32 bits pour les adresses et à partir 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 corrigeant ou en mettant à niveau le micrologiciel de quoi que ce soit.

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


Aussi: Si possible, le programme d'installation normal de 32 bits activera automatiquement le noyau d'extension d'adresse physique si nécessaire, vous permettant d'utiliser toute votre mémoire.
Stefano Palazzo

Comme il a été notifié par @StefanoPalazzo et d'autres, l'installation du noyau PAE résout le problème Il suffit de rechercher le noyau PAE dans le gestionnaire de packages synaptiques et d'installer: hailubuntu.blogspot.com/2010/09/ubuntu-detecting-less-ram.html
wisemonkey

1
@wisemonkey: non, un noyau PAE ne m'a pas donné les 4 Go complets. Parce que j'utilise déjà un noyau 64 bits et même les rapports de bios: 4 Go au total -> 3,2 Go utilisables.
aatdark

@aatdark: La configuration de votre BIOS comporte-t-elle le champ "Mémoire vidéo partagée"? Si oui, pouvez-vous le désactiver (uniquement recommandé si vous avez une carte graphique discrète) mais encore une fois comme vous l'avez dit si son ancien ordinateur alors la mémoire complète n'est pas adressable.
wisemonkey

1
"Les chipsets de base Intel Intel® 945 fournissent un espace d'adressage maximal de 4 Go et ne prennent pas en charge le remappage de la mémoire. Comme certaines parties de cette adresse doivent être réservées à d'autres appareils, vous ne pourrez pas utiliser plus de 3,2 Go de mémoire système avec la configuration actuelle de votre système. Aucune mise à jour du BIOS ou système d'exploitation 64 bits ne changera cela. Il s'agit d'un chipset plutôt que d'une carte ou d'une limitation du BIOS. "
aatdark
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.