Lors de l’installation de l’un de mes nouveaux serveurs Supermicro à base de deux processeurs AMD Opteron 6212, j’ai pu constater après l’installation que seulement 3,8 Go de ram étaient détectées avec free, top ou htop sur le serveur.
En regardant avec dmesg (ou dans le /var/log/kernel/warnings) je me suis retrouvé confronté au message suivant :
Jan 3 20:52:13 blackstaff kernel: WARNING: BIOS bug: CPU MTRRs don’t cover all of memory, losing 61952MB of RAM.
Jan 3 20:52:13 blackstaff kernel: ————[ cut here ]————
Jan 3 20:52:13 blackstaff kernel: WARNING: at arch/x86/kernel/cpu/mtrr/cleanup.c:1121 mtrr_trim_uncached_memory+0x2a6/0x2d1()
Jan 3 20:52:13 blackstaff kernel: Hardware name: H8DGU
Après avoir passé toutes les mises à jour de la distribution et testé avec différentes séries du noyau (kernel-server et kernel-desktop) le problème persiste.
Recherches effectuées sur internet, il s’agit d’un problème référencé et discuté à plusieurs endroits et notamment ici : http://www.gossamer-threads.com/lists/linux/kernel/1550093
Pour résoudre le problème sous mandriva 2010.2 le plus simple est d’utiliser le kernel MIB (Mandriva International Backports).
- Récupérer les fichiers dont on va avoir besoin, à savoir :
- Les installer sur le système
- Rebooter le système
- Vérifier que tout fonctionne correctement.
C’est parti :
wget http://mirrors.coreix.net/MIB/2010.2/64/projects/kernels/3.6.5/kernel-server-3.6.5-2mib-1-1mib2010.2.x86_64.rpm
wget http://mirrors.coreix.net/MIB/2010.2/64/projects/kernels/general/kernel-firmware-20120924-69mib2010.2.noarch.rpm
wget http://mirrors.coreix.net/MIB/2010.2/64/projects/kernels/general/kernel-firmware-extra-20120924-69mib2010.2.noarch.rpm
wget http://mirrors.coreix.net/MIB/2010.2/64/projects/kernels/general/microcode-0.20120313-69.1mib2010.2.noarch.rpm
rpm -Uvh *.rpm
reboot
Une fois le reboot effectué, la ram est enfin détectée correctement et le message d’erreur a disparu :
[root@blackstaff ~]# uname -a
Linux blackstaff.digital-network.net 3.6.5-server-2mib #1 SMP Sat Nov 3 16:15:57 CET 2012 x86_64 x86_64 x86_64 GNU/Linux
[root@blackstaff ~]# free -m
total used free shared buffers cached
Mem: 64559 4019 60539 0 17 244
-/+ buffers/cache: 3757 60801
Swap: 3992 0 3992
[root@blackstaff ~]#