3.5 Go de RAM au lieu de 4 Go

Bonjour à tous,

J’ai acheté 2 barettes mémoires Kingmax DDR2 800 MHz de 2 Go chacune.
J’ai une carte mère K9A2 CF.
En branchant une seule barette (n’importe laquelle) j’ai bien 2 Go de RAM qui s’affiche.
Par contre quand je branche les deux barettes (soit les 2 sur les ports vert soit une sur le vert et une sur le orange), j’ai 3.5 Go de RAM qui s’affiche.
Est ce que quelqu’un sait pourquoi?

c’est normal tu doit etre en x86 donc windows prend en charge que 3,5 go maximum

Une recherche rapide sur le forum ou dans Google t’aurait donnée la réponse immédiatement: c’est normal si tu possède un système d’exploitation 32 bits :jap:

Tu as de la chance d’en voir 3,5GB car courrament Windows n’en voit que 3,25 ^^
Comme l’a dit legamer, c’est une limitation dû au fait que tu utilises probablement Windows 32 bits, qui équipe pratiquement 95% des ordinateurs. Pour voir les 4GB il faut passer sur un système 64 bits…

C’est normale si tu est sous Windows 32bits . Car la version 32bits est limité à environ 3.5Go.
Tu voit surement ce chiffre sous windows, mais si tu regarde dans ton bios tu verra 4Go.
Si tu veux exploiter le 4 Go tu doit passer sous un OS 64 bits. Mais 3.5Go est sufisant pour le jeux ou des applications normale

Je croie que ça n’a rien a voir, “X86” est un truc CPU.
Edité le 23/01/2009 à 14:44

Bah tu t’es fait boulette, vas les changer directement ^^

Lol, c’est normal, Windows XP ne reconnait pas plus de 3455Mo (3.5GO) de mémoire vive, mais si sa t’inquiète pas les jeux prendre en compte la totalité de ta ram.

Ok merci
Désolé Almalexia, c’est vrai j’ai été un peu fainéant sur ce coup là.

Dans les réponses de ce genre il y a un truc qui me gène …

Windows 32 bits supporte en réalité 4GO (2^32 = 4 milliard et des brouettes).
Ceci dit, dans cet espace mémoire il existe des adresse réservées (pour la gestion des périphériques pour faire simple), donc Windows supporte bien 4GO de mémoire, mais cet espace réservé se situes dans les 4GO, du coup effectivement on ne peut en utiliser que 3 à 3.5GO (ça varie selon les chipset et selon les périphériques installés), mais il est inexacte de dire que Windows 32 bits ne supporte “que” 3.5GO de ram. :jap:

Le plus désolant dans le fait d’avoir 4 Go de RAM avec un système 32 bits est qu’un processus de peut se voir allouer plus de 2 Go :arf:

Par contre il y a moyen d’allouer jusqu’a 3 Go avec une certaine manipulation, il reste ensuite à dire à l’application (Crysis Warhead, FSX, GTA 4 :D) de prendre jusqu’a 3 Go…
Edité le 23/01/2009 à 17:31

“/3GB” dans le fichier boot.ini mon ami :wink:
Edit: bah en fait c’est dans ton lien, m’apprendra à aller trop vite :ane:

Mais bon pour le grand public il est extrêmement rare d’en avoir besoin :stuck_out_tongue:
Edité le 23/01/2009 à 17:51

C’est certain :stuck_out_tongue:

Mais il me semble qu’ensuite il faut dire à l’application qu’il peut prendre jusqu’à 3 Go, non? (style éditer un fichier du jeu/soft)

Je ne pense pas, enfin moi j’ai eu le cas au boulot avec un soft qui faisait une erreur car il réclamait plus de 3Go, la modif du boot.ini a suffit :neutre:
(Windows est capable de dire au soft quelle capacité max il peut allouer normalement)
Edité le 23/01/2009 à 18:47

la plupart des logiciels, demande plutot de la mémorie virtuelle…

Oui en effet, sur XP, mais sur vista, tu as la même chose, sauf qu,en plus tu rajoute de la mémoire pour la carte video si je ne m’abuse docn normalement XP en détect plus que Vista :wink:

Bah en fait ils demandent de la mémoire qui est forcément virtuelle :smiley: (pour utiliser explicitement de la mémoire physique il faut fonctionner en mode kernel, plutôt réservé aux drivers pour des cas très spéciaux, je l’ai déjà fait, à utiliser avec parcimonie)
Mais l’adressage virtuel est justement limité à 2Go par process, 3Go avec le “/3GB”
Edité le 23/01/2009 à 19:43

Habituellement ça se suit pas mal… si un process utilise 1.5 Go de RAM, il utilisera environs le même montant de mémoire virtuelle (il me semble…)

Un process utilise 1.5Go de mémoire virtuelle, mais pas forcément autant de mémoire physique, tu peux trouver ces infos dans le gestionnaire de tâches.

Quelques explications sur la mémoire virtuelle :wink:

Dans le temps tout était simple, on avait des puces de mémoire dans le PC et on réservait des bouts de cette mémoire jusqu’à ce que tout soit plein (enfin là en général ça plantait :D)

Puis le concept de mémoire virtuelle est arrivé dans les années 80-90 avec l’apparition des MMU dans les processeurs. Le but est de faire croire qu’on a plus de mémoire que la quantité de mémoire réelle (la mémoire physique, les barettes mémoires quoi). Comme ça plus de problème de place mémoire.
Ca permet aussi de mettre en place des mécanismes de protection mémoire, en gros quand un process est lancé il croit qu’il est tout seul et qu’il a toute la mémoire pour lui (il lui est donc impossible de taper dans la mémoire des autres process). Le souci c’est que si on dépasse la quantité de mémoire physique réelle il va y avoir un problème, c’est pour cela qu’on a inventé le swap.

Le principe du swap c’est de stocker la mémoire virtuelle sur le disque dur dans un fichier de swap. Bien sûr si la quantité de mémoire physique est suffisante la mémoire virtuelle est entièrement mappée en mémoire physique, mais si ce n’est pas le cas alors il faut libérer de la place en mémoire physique en transférant certaines données sur le disque dur (et c’est lent).

Quand tu fais un malloc dans un programme en C pour réserver de la mémoire, c’est de la mémoire virtuelle et l’adresse que tu obtiens est une adresse virtuelle, pas physique. Ton bloc de mémoire est sans doute découpés en pages éparpillées un peu partout en mémoire physique mais ça tu ne le sais pas, voire en partie stocké sur le disque dur :wink:
Edité le 23/01/2009 à 20:34