# [MATERIEL] Pas toute la RAM ? (résolu)

## Magic Banana

Bonjour !

Mon problème n'a rien à voir avec Gentoo en particulier. Pour m'en excuser, je vous le présente sous forme de sondage étant entendu qu'en cette période électorale, tout le monde veut des sondages (c'est en tout cas ce qu'ont l'air de penser les journalistes).

J'ai acheté un portable d'occasion à un particulier via un site Web spécialisé dans ce genre de transaction. Il s'agit du MSI S271-W1 normalement équipé de 1024 Mo de RAM DDR2 cadencée à 667 MHz. C'est en tout cas comme cela que son ancien propriétaire le décrivait (et qu'il est décrit neuf).

Je le reçois hier et entame une vérification du matériel pour clôturer la transaction ou entamer une procédure de litige. Tout est bien conforme aux spécifications mise à part la mémoire vive. En effet, que ce soit Window$ (préinstallé sur l'ordinateur) ou GNU/Linux (sur LiveCD), tout deux m'indique 896 Mo de RAM.

Première réaction : "l'enfoiré il a remplacé une barrette de RAM par une autre de quantité inférieure et, pire, potentiellement cadencée en deçà de 667 MHz". En effet, ce n'est pas tant les 128 Mo  manquant qui me gênent qu'un taux rafraîchissement de la mémoire moindre (puisque le rafraîchissement est celui de la barrette la plus lente).  :Evil or Very Mad: 

Toutefois, cette éventualité est peut-être à rejeter. En effet, l'accès à l'emplacement hébergeant la mémoire vive est très difficile sur cet ultra-portable et requiert l'ouverture de l'ordinateur complet invalidant, de fait, la garantie. À ce sujet, un autocollant situé sur une vis est sensé permettre d'assurer que l'ordinateur n'a jamais été ouvert. Et cet autocollant n'a pas été brisé. Donc, sauf manipulation délicate (retirer puis remettre l'autocollant) de la part de son ancien propriétaire, la mémoire vive est d'origine.

En outre, pour atteindre 896 Mo avec des barrettes de tailles "classiques", il faut trois barrettes : 512 Mo + 256 Mo + 128 Mo. Or il me semble que dans les ultra-portables, il n'y a toujours que 2 slots mémoire. Je ne peux pas vérifié physiquement mes suppositions sans perdre la garantie (le fameux autocollant).

Deuxième réaction : "Une des barrettes est partiellement endommagée". Les barrettes étant composées de plusieurs circuits intégrés, peut-être est-il possible qu'un quart de l'une des deux barrettes ne fonctionne pas. Si c'est le cas, je peux probablement faire jouer la garantie pour récupérer les 128 Mo manquants. Cependant, je n'ai jamais entendu parler de ce genre de problème.  :Question: 

Troisième réaction : "Le portable est vendu comme ayant 1024 Mo de RAM mais en réalité 128 Mo sont réservés pour la carte graphique (Radeon Xpress 200M) et ne sont donc pas comptabilisés par le système d'exploitation lorsqu'il évalue la quantité de mémoire vive totale". Cette pratique commerciale me semble peu honnête mais, finalement, ne m'étonnerait pas plus que ça.  :Rolling Eyes: 

Je serai content d'avoir votre avis sur la question car dans chacun des trois cas la réponse à apporter est différente. Peut-être même que vous avez une autre explication (influence extraterrestre, sabotage communiste, etc.).Last edited by Magic Banana on Thu Mar 08, 2007 8:25 pm; edited 3 times in total

----------

## kwenspc

J'ai voté pour la carte graphique, ça doit être indiqué dans le bios la ram qui lui est alloué. (et en effet c'est une pratique de merde mais qu'on voit partout)

Euh sinon ton krnel nux a bien le high memory support? (je fais pas confiance à doz  :Razz: )

----------

## -KuRGaN-

Essaie de changer la quantité de mémoire allouée à la carte graphique dans le BIOS si tu peux, et si cela à une incidence sur la taille que tu voies dans le système, tu auras ta réponse.

----------

## xaviermiller

+1

----------

## _Seth_

Je suis pas connaisseur en terme de ram partagée, mais cette solution me semble la plus probable. Ou alors tu as à faire à un faussaire, qui achète tout plein de MSI pour changer la RAM et qui se fait de la marge sur la revente du PC et de la ram. Enfin, je pense qu'il y a plus lucratif comme anarque (vendre un OS pour lequel l'activation requiert de téléphoner à un uméro surtaxé, par exemple  :Twisted Evil:  ).

----------

## Mickael

je vote également pour la carte graphique.

sur  ldlc, linfo que tu cherchais : Taille (max) de la mémoire vidéo partagée 	 128 Mo, avec l'info qui va bien, Chipset graphique 	 Intégré

----------

## -KuRGaN-

La carte graphique comme président !!!!!!!!!!!!!!

ok ok ----> [.]

----------

## Magic Banana

Waooo. 6 réponses en 20 minutes. Il n'y a pas à dire, les sondages c'est vendeur !  :Very Happy: 

Merci pour votre éclaircissement unanime !

----------

## kwenspc

 *Magic Banana wrote:*   

>  Il n'y a pas à dire, les sondages c'est vendeur !  

 

Alors ces 500 signatures ça en est où?   :Laughing: 

----------

## nico_calais

+1 pour la carte graphique

----------

## _droop_

Interessant comme sondage   :Laughing: 

(+1 pour la cg)

----------

## lmarcini

896 Mo, ce n'est pas la valeur maxi que gère le kernel avec un CONFIG_HIMEM désactivé  ? -> je n'ai pas voté pour la CG  :Smile: 

----------

## yoyo

 *lmarcini wrote:*   

> 896 Mo, ce n'est pas la valeur maxi que gère le kernel avec un CONFIG_HIMEM désactivé  ? -> je n'ai pas voté pour la CG 

 Je me demande si ça n'était pas plutôt 866 ou 867 Mo. Enfin dans le doute je n'ai pas non plus voté pour la CG.   :Wink: 

Mais le sujet est marqué "résolu", Magic Banana doit donc avoir une explication à nous fournir non ?

----------

## -KuRGaN-

Après vérification, la limitation du CONFIG_HIMEM est bien de 896MB.

Heu du coup j'hésite entre deux candidats moi !!!   :Laughing: 

----------

## Temet

J'ai de suite pensé au HIGHMEM, me suis fait avoir déjà!

----------

## Magic Banana

 *yoyo wrote:*   

>  *lmarcini wrote:*   896 Mo, ce n'est pas la valeur maxi que gère le kernel avec un CONFIG_HIMEM désactivé  ? -> je n'ai pas voté pour la CG  Je me demande si ça n'était pas plutôt 866 ou 867 Mo. Enfin dans le doute je n'ai pas non plus voté pour la CG.  
> 
> Mais le sujet est marqué "résolu", Magic Banana doit donc avoir une explication à nous fournir non ?

 

Non, aucune explication (je n'ai pas mon nouveau portable sous la main). Juste qu'en obtenant en peu de temps une dizaine de contributions allant dans le sens d'une partie de la mémoire réservée à la carte graphique, je pensais que l'élection était jouée d'avance. Peut-être que, comme en politique, les sondages trop précoces sont souvent faux ? Voilà donc un outsider : CONFIG_HIMEM (tel FRANCOIS_BAYROU   :Laughing:  ) surgit et fait de l'ombre aux votes plus évidents.

Toutefois (et contrairement à la politique cette fois  :Embarassed:  ), je ne crois pas à cette éventualité puisque Window$ m'indique 896 Mo de mémoire et que le noyau du LiveCD d'Ubuntu devrait, je crois, avoir CONFIG_HIMEM activé par défaut. Qu'en pensez-vous ?

En attendant, et pour plus de suspense électoral  :Laughing:  , je vais retirer le " (résolu)" du titre. Si /usr/src/linux/.config existe sur le LiveCD d'Ubuntu, le dénouement est pour ce soir !

----------

## xaviermiller

surtout que 896 + 128 = 1024

soit 128 MO réservés  :Wink: 

----------

## yoyo

 *Magic Banana wrote:*   

> Non, aucune explication (je n'ai pas mon nouveau portable sous la main). Juste qu'en obtenant en peu de temps une dizaine de contributions allant dans le sens d'une partie de la mémoire réservée à la carte graphique, je pensais que l'élection était jouée d'avance.

 Galilée avait donc tort ??    :Twisted Evil: 

----------

## ghoti

Bon, ben moi je rejoins le clan "la vérité est ailleurs".

Cela n'a rien à voir avec la carte graphique.

Le sujet a déjà été traité ici  :Wink: 

----------

## julroy67

Baaah la CG oblige, cette pratique commerciale c'est nul, et sa fait longtemps que je la subit ^^ au début je comprenais pas pourquoi il manquait. Et comme tu l'as dit, dans Win il montre la même chose. C'est donc ta CG.

EDIT : Arf j'aurais tort ? xD

----------

## Mickael

Mais ça carte graphique est intégrée, donc de toute façon il n'aura pas 100% de la ram pour faire tourner le bourrin, car la CG aura besoin d'une partie de cette ram. La CG à donc une part de responsabilité dans cette affaire.

----------

## Magic Banana

 *MickTux wrote:*   

> Mais ça carte graphique est intégrée, donc de toute façon il n'aura pas 100% de la ram pour faire tourner le bourrin, car la CG aura besoin d'une partie de cette ram. La CG à donc une part de responsabilité dans cette affaire.

 

Mais pourquoi est-ce que la carte graphique réquisitionne dès le boot la mémoire vive dont elle aura potentiellement besoin ? Si, par exemple j'ai besoin pour un algorithme de Data-Mining (mon domaine de recherche) du maximum de mémoire possible, j'aimerais pouvoir l'exécuter dans GNU/Linux sans X. Pourtant, même comme cela, 128 Mo de RAM ne pourront pas être utilisés.  :Crying or Very sad: 

----------

## ghoti

 *MickTux wrote:*   

> La CG à donc une part de responsabilité dans cette affaire.

 

Oui mais pas dans les stats !

La cg consomme de la ram comme n'importe quel processus. Je ne crois pas qu'il y ait une "réservation" d'office.

Si c'était le cas, la mem totale serait encore moins élevée vu que, de toutes façons, le kernel se réserve une part de gâteau ...

----------

## Mickael

Et si cela se passait au niveau du bois, hein? si Monsieur le bios dès le boot, dit stop, on en garde un peu pour Madame. C'est pas bête puisque nos cher constructeurs sont de mèches avec un certain Bilou pour vendre au plus abrutit, c'est à dire la masse d'ignorants...

 :Laughing:  dernière cartouche, probablement à blanc.....

----------

## guilc

 *MickTux wrote:*   

> Et si cela se passait au niveau du bois, hein? si Monsieur le bios dès le boot, dit stop, on en garde un peu pour Madame. C'est pas bête puisque nos cher constructeurs sont de mèches avec un certain Bilou pour vendre au plus abrutit, c'est à dire la masse d'ignorants...
> 
>  dernière cartouche, probablement à blanc.....

 

la je dis +1

Sur mon portable c'est bien le cas : L'OS ne "voit" pas 100% de la RAM, la RAM réservée à la CG est bel et bien fixe, la CG n'agit pas du tout comme un processus (d'ailleurs si ce n'était pas le cas, ça serait au kernel de gérer cette allocation "A la processus" alors que c'est matériel ? et puis quoi encore  :Laughing:  ).

----------

## Mickael

Et de plus dans le meilleur des cas, on ne peut que allouer plus de mémoire à madame, jamais moins que ce que le bios à décréter.

----------

## anigel

Dans le cas de puces graphiques intégrées, le BIOS alloue directement la mémoire demandée à la puce graphique, et en ampute donc la mémoire centrale. Et heureusement !

Imaginez une machine avec 16 Mo de mémoire... Dont 2 Mo réservés pour la vidéo (8 bits par couleur, donc 3 octets par pixel, pour un écran de 1024x768, ça fait pile poil 2 Mo). Maintenant, imaginez que le noyau ait besoin de mémoire, et aille piocher dans cette zone pour les besoins des processus...

Pour éviter cela, il faut donc réserver une partie de la mémoire pour la vidéo, donc quitte à bloquer cette zone, autant le gérer au niveau du BIOS et non de l'OS.

----------

## El_Goretto

+1 pour le CONFIG_HIMEM, c'est trop précis  :Smile: 

----------

## ghoti

 *El_Goretto wrote:*   

> +1 pour le CONFIG_HIMEM, c'est trop précis 

 

Aaah, enfin un peu de soutien !  :Very Happy: 

 *anigel wrote:*   

> Dont 2 Mo réservés pour la vidéo (8 bits par couleur, donc 3 octets par pixel, pour un écran de 1024x768, ça fait pile poil 2 Mo)

 

Heu, si j'ai bien lu, on parle de 128 Mo et pas de 2Mo !

Même en 1600x1200 et 16 millions de couleurs, tu es très loin du compte !

Au delà de 4 Mo, les mems de cg servent surtout pour la 3D, les textures, toussa. 

Rien d'essentiel, donc et certainement pas une raison pour amputer la mémoire centrale d'une telle quantité ...

Bon, lisez tout de même un peu le lien que j'ai donné : il contient un autre lien vers ceci  :Wink: 

Et puis aussi ce document : c'est assez ancien et c'est du doc m$ mais c'est parfaitement lisible avec nos chers outils opensources !

 *anigel wrote:*   

> Pour éviter cela, il faut donc réserver une partie de la mémoire pour la vidéo, donc quitte à bloquer cette zone, autant le gérer au niveau du BIOS et non de l'OS.

 

Mouais, c'est la bible à billou ça !. Linux se contrefiche du bios et s'il doit allouer de la mémoire, ce sera de manière dynamique, même si le bios dit le contraire !

----------

## kwenspc

 *ghoti wrote:*   

> Mouais, c'est la bible à billou ça !. Linux se contrefiche du bios et s'il doit allouer de la mémoire, ce sera de manière dynamique, même si le bios dit le contraire !

 

Euh sur ce coup là non. A priori c'est assez spécifique. L'allocation de mémoire par le bios pour la cg n'a rien à voir avec une allocation habituelle. Je pense que le bios doit juste jouer sur une puce quelquonque qui fait que le système n'a réelement que 896 Mo de ram et pas plus. Le rest est redirigé pour la cg. Le soucis est ici materil à mon avis. Il n'y a à mon avis aucune possibilité d'y couper. Le bios n'est qu'un intervenant "d'interface" pour configurer ce partage, mais ce n'est pas lui qui le fait. Bon aça demande confirmation mais c'est ce qui me semble le plus plausible.

----------

## Magic Banana

Voici enfin venu le dénouement. Partisans de tout bord, l'instant est des plus palpitants !  :Laughing: 

Un espace mémoire est bel est bien réservé dès le boot à la carte graphique intégrée et est à retrancher du total de RAM disponible.

Suivant vos conseils je suis allé voir du côté du BIOS si un paramètre pouvait être ajusté pour faire varier la quantité d'espace mémoire allouée à la carte graphique. Dans Advanced/Chipset Configuration/Radeon Xpress 200 Configuration/Internal Graphics Configuration se trouve un paramètre nommé "Internal Graphics Mode". En le mettant à UMA (à la place de disable), apparaît alors une autre option "UMA Frame Buffer Size" pour laquelle les valeurs proposées sont 32MB, 64MB, 128MB ou 256MB. La valeur recommandée est 128MB. En la passant à 256MB, la mémoire disponible tombe à 768 Mo soit 1024 Mo - 256 Mo.

CQFD.

Ceci étant dit, je me retire de la vie politique.  :Laughing: 

----------

## ghoti

Y a plus qu'à s'incliner alors !  :Very Happy: 

----------

## El_Goretto

Euh, Ghoti, la prochaine fois, on lira tout le post du monsieur, il a dit que même ouinouin lui donnait 896 Mo de RAM ^^.

Dommage, j'y ai cru pourtant...  :Smile: 

----------

## dapsaille

Ghoti il ne faut pas oublier le fait que cette "vram" ne sers pas qu'à afficher des consoles en mode texte ou des beaux wallpapers mais aussi à stocker les textures et vertices des jeux en 3d d'ou les cartes 3d haut de gamme avec 1,5go :p

----------

## _droop_

 *dapsaille wrote:*   

> Ghoti il ne faut pas oublier le fait que cette "vram" ne sers pas qu'à afficher des consoles en mode texte ou des beaux wallpapers mais aussi à stocker les textures et vertices des jeux en 3d d'ou les cartes 3d haut de gamme avec 1,5go :p

 

Ca sert aussi pour l'accélération 2d, compositing...

128 ça fait quand même beaucoup si on ne fait pas de 3d...

----------

## widan

 *Magic Banana wrote:*   

> Deuxième réaction : "Une des barrettes est partiellement endommagée". Les barrettes étant composées de plusieurs circuits intégrés, peut-être est-il possible qu'un quart de l'une des deux barrettes ne fonctionne pas. Si c'est le cas, je peux probablement faire jouer la garantie pour récupérer les 128 Mo manquants. Cependant, je n'ai jamais entendu parler de ce genre de problème. 

 

C'est quasiment impossible. Le BIOS se base sur les infos du SPD (la petite EEPROM à 8 broches dans un coin de la barrette) pour savoir combien il y a de RAM sur cette barrette et quelle est son architecture (nécessaire pour programmer le contrôleur mémoire). Même si il y a des puces grillées, la quantité de RAM détectée sera toujours bonne, sauf si c'est le SPD qui a grillé (la barrette sera pas détectée) ou qu'il est corrompu (effets variables selon l'endroit corrompu).

 *ghoti wrote:*   

> Mouais, c'est la bible à billou ça !. Linux se contrefiche du bios et s'il doit allouer de la mémoire, ce sera de manière dynamique, même si le bios dit le contraire !

 

Non, parce que c'est le BIOS qui donne la map mémoire physique du PC au kernel (c'est ça les tables E820 au début du dmesg). Si le BIOS dit qu'il n'y a pas de RAM à tel endroit, alors le kernel n'utilisera pas cet endroit.

 *_droop_ wrote:*   

> 128 ça fait quand même beaucoup si on ne fait pas de 3d...

 

Certains chipsets n'allouent que le framebuffer au démarrage (genre 8 ou 16 Mo), et le driver leur donne plus de mémoire par la suite pour les textures, alors que d'autres allouent tout dès le début.

----------

## dapsaille

 *widan wrote:*   

> 
> 
> Certains chipsets n'allouent que le framebuffer au démarrage (genre 8 ou 16 Mo), et le driver leur donne plus de mémoire par la suite pour les textures, alors que d'autres allouent tout dès le début.

 

 Ha ? Ca as l'air intéressant .. quels sont ces chipsets ?

----------

## CryoGen

 *dapsaille wrote:*   

>  *widan wrote:*   
> 
> Certains chipsets n'allouent que le framebuffer au démarrage (genre 8 ou 16 Mo), et le driver leur donne plus de mémoire par la suite pour les textures, alors que d'autres allouent tout dès le début. 
> 
>  Ha ? Ca as l'air intéressant .. quels sont ces chipsets ?

 

nVidia TurboCache

----------

## widan

 *dapsaille wrote:*   

> Ha ? Ca as l'air intéressant .. quels sont ces chipsets ?

 

Pour les chipsets Intel, ils appellent ça DVMT (Dynamic Video Memory Technology). Il y a la documentation qui explique comment ça marche sur leur site, la section 2.2 décrit les différents types de mémoire.

----------

## El_Goretto

Euh, mais pour le Turbocache, c'est géré par un driver non?

----------

## dapsaille

Pour les turbocache ca n'est pas alloué dynamiquement il me semble ..

 Je vais vérifier demain chez mon "provider" 

 Sinon merci pour la documentation je vais regarder cela :p

EDIT= Mea Culpa = http://www.tomshardware.fr/nvidia-geforce-6200-turbocache-article-3d-840-3.html

 Mon dieu je deviens une quiche en hardware   :Wink: 

Sinon pour la doc Intel emerge kpdf est en cours :p

----------

