# [RAM] Problème de détection sur AMD64

## Scullder

Bonjour, j'ai installé une Gentoo 2005.1 AMD64, que j'ai mis à jour en 2006.0. Je l'utilisais pas trop mais remarqué un comportement étrange avec la détection de la mémoire. J'avais eu le même problème sur une ubuntu breezy preview (en mars / avril 2005), qui était apparu après une mise à jour vers la version stable (kernel 2.6.12).

Mon matériel :

ASUS K8N-E Deluxe (chipset nforce 3 250Gb)

AMD 64 3000+

une barrette de 512Mo de RAM PC3200 (marque Kingston)

Problème :

Quand je boot sur gentoo, j'ai 430Mo de RAM détecté (résultat obtenu par la commande 'free -m') au lieu de 512. Quand je _RE_boot, j'ai à nouveau 500Mo de RAM détecté.

Je n'arrive absolument pas à identifier la source du problème, étant donné que ça fonctionne très bien sous debian unstable x86, ubuntu breezy x86, windows xp 32 _et 64bits_.

Je me suis demandé si le problème ne venait pas du BIOS (o_O très peu de chance, mais bon). Je met à jour le bios de la carte mère, toujours pareil. J'essaie le dernier BIOS Beta assez récent, toujours pareil. J'ai aussi essayé de remettre les règlages du bios par défaut (même si j'avais trop rien changé à part l'activation de qfan et du cool and quiet), et ça n'a rien changé.

Le problème vient peut être du noyau o_O. J'ai le problème avec un 2.6.15-gentoo-r5. Donc je met à jour 2.6.15-gentoo-r7 en compilant avec genkernel. Même problème. J'essaie différentes options. Principalement, j'ai mis generic x86_64 comme processor type. Ca ne change rien au problème.

Je ne pense pas que ce soit un problème de high memory support (et je ne trouve que ça sur google pour ce type de problèmes).

Au final, je n'ai aucune idée de la provenance du problème.

Je compte essayer de compiler le noyau manuellement sans genkernel, pour éviter d'avoir le ramdisk.

Je vous serai très reconnaissant de m'aider un peu, gentoo avec kde 3.5 me convient parfaitement et j'aimerai bien pouvoir l'utiliser  :Sad: 

----------

## Mickael

Salut,

j'ai de la lecture pour toi, avec ce thread très frais : 

https://forums.gentoo.org/viewtopic-t-441881.html qui te conduira à des explications plus poussées sur d'autres thread. Peut être y a -t-il les réponses à tes questions. 

Bonne lecture.

----------

## Scullder

Merci pour tes renseignements.

J'ai un prob de connexion actuellement, donc j'ai bourriné dans la config du noyau et en le recompilant une bonne dizaine de fois. :/

J'ai désactivé tous les truc qui avaient l'air de concerner la gestion de la mémoire, sans trop pouvoir savoir ce que c'est (pas de net pour se documenter).

Au final, par élimination, tout fonctionne en ayant désactivé "IOMMU support", ça a pas l'air trop grave dans mon cas.

J'ai aussi essayer de passer le paramètre "mem=512M" au noyau, pas de différence.

----------

## Mickael

Salut, 

juste une début d'explication pour le module que tu as désactivé, (source : doc ATI GENTOO fr faq)

 *Quote:*   

> Important : Vous devez désactiver le support K8 IOMMU pour pouvoir activer le support agpgart avec certains chipsets amd64.

 

----------

## BuBuaBu

Les cartes AGP peuvent s'approprié une parti de la ram. (je pense que normalement c'est gérer via la valeur AGP Aperture Size dans le bios).

Donc, lorsqu'une tel carte prend de la mémoire, elle disparait de la ram total.

Mais bon, je ne suis pas sur que le fait d'attribuer tel quantité de ram à du matos, via le bios, le fasse deduire du total.

Une chose a vérif, regardé comment la mémoire est attribuée.

(dès que je retrouve comment faire je post)

----------

## Mickael

Un lien très intéressant sur ce sujet :

https://forums.gentoo.org/viewtopic-t-396389-postdays-0-postorder-asc-highlight-iommu-start-0.html

 où l'on apprend ceci, qui est légèrement en contradiction avec mon post précédent : 

 *Quote:*   

>  Support the IOMMU. Needed to run systems with more than 3GB of memory
> 
> properly with 32-bit PCI devices that do not support DAC (Double Addres
> 
> Cycle). The IOMMU can be turned off at runtime with the iommu=off param
> ...

 

On y apprend également que ce module est à proscrire avec les cartes nvidia. Soit, mais où est le rapport avec ma citation de mon dernier post???

Réponse : pas si éloigné quand je me relis  :Embarassed: 

----------

## Scullder

Je déterre un topic, mais je ne peux pas garder ça pour moi ^_^

Je suis passé au 2.6.18-ck1 il y a quelques jours. _LE_ problème est revenu, sauf que maintenant j'ai 1Go de RAM et 940mo détectés.

En fait, avant je désactivais K8 IOMMU support, sauf que cette option n'est plus dispo sur le 2.6.18 apparemment, y'a eu du changement à ce niveau.

Après avoir erré sur le forums gentoo et sur le net en essayant toutes les solutions éventuelles, j'ai fini par trouver une solution.

Quand je passe le paramètre "iommu=noaperture" au kernel, toute ma mémoire est détectée et utilisée correctement.

Je maîtrise pas trop le sujet, mais ça fonctionne donc je m'en satisfait.

----------

## Enlight

dans mes souvenirs l'aperture c'est la portion de ram "pretée" à la carte video, tu n'as pas de perte en faisant ça? Sinon tu dois avoir une option ressemblante dans le bios, non?

----------

## Scullder

Ouai mais c'est quand même bien space, j'ai 256mo de mémoire video sur ma carte graph, donc je vois pas pourquoi il en prend sur ma ram.

Dans mon bios, j'ai mis 128Mo (réglage par défaut) pour aperture size. Mais même, 940 + 128 = 1068Mo, donc c'est pas ça.

En fait, je pense que c'est pour mapper les ports d'entrées/sorties d'un périphérique sur l'espace physique adressable.

http://en.wikipedia.org/wiki/Aperture_%28computer_memory%29

http://en.wikipedia.org/wiki/Memory-mapped_I/O

----------

## Scullder

Et j'ai bien ça au boot :

```

agpgart: Detected AGP bridge 0

agpgart: Setting up Nforce3 AGP.

agpgart: AGP aperture is 128M @ 0xf0000000

Linux agpgart interface v0.101 (c) Dave Jones

```

Donc ça marche  :Smile: 

----------

