Et donc le problème est totalement différent de celui de Cver1.
CONFIG_HIGHMEM4G=y signifie que le noyau peut gérer 4 Gio d’espace mémoire adressable tout compris, incluant non seulement la RAM système mais la mémoire adressable des périphériques comme la carte graphique. Forcément, ça laisse moins de 4 Gio pour la RAM système, 3,5 Gio est dans la norme.
Pour gérer plus de 4 Gio d’espace mémoire (jusqu’à 64 Gio) avec un noyau x86 32 bits, il faut un noyau -bigmem (CONFIG_HIGHMEM64G=y) et un processeur supportant l’extension d’adresse physique PAE (la plupart des Intel à partir du Pentium Pro et des AMD à partir de l’Athlon). Il faut aussi vérifier le cas échéant que l’option du BIOS de la carte mère pour “remapper” au delà de 4 Gio la RAM recouverte par la plage affectée aux entrées/sorties en mémoire des périphériques est activée. Cependant la couche d’indirection supplémentaire causée par PAE affecte les performances, d’autant plus que la quantité de mémoire est importante. D’après un article de Linus Torvalds que j’avais lu, au delà de 8 Gio de RAM il vaut mieux passer en 64 bits.
Non. Contrairement aux disques durs dont la capacité est arbitraire, la capacité d’un module de RAM est toujours une puissance entière de deux par construction. Tu ne trouveras jamais une RAM de 10^n octets avec n entier. La mémoire qui manque, c’est celle réservée par la carte mère (notamment avec une puce graphique à mémoire partagée) et par le noyau lui-même.