Augmenter la taille de mémoire ram supporté par un linux 32bit de 4 à 16G

Publié le 01 février 2017 par Crocodanser

Vous avez un vieux linux 32bits que vous ne voulez ou ne pouvez pas réinstaller en 64bits et vous êtes limité par les 4GB supporté par le kernel? Et bien cet article est la solution!

En gros, il suffit de passer sur un kernel de type PAE qui permettra à votre linux 32bits de supporter jusqu’à 16GB de RAM.

Voici une procédure pour Centos :

  • Vérifier que votre système ait bien accès à Internet
  • Vérifier que votre CPU supporte le PAE :
grep --color=always -i PAE /proc/cpuinfo

flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss nx rdtscp lm constant_tsc ida nonstop_tsc arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm [8]
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss nx rdtscp lm constant_tsc ida nonstop_tsc arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm [8]
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss nx rdtscp lm constant_tsc ida nonstop_tsc arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm [8]

Si vous voyez apparaitre le terme pae, c’est que votre CPU le gère.
  • Faire un snapshot si votre linux est une VM
  • Installer le kernel PAE

yum install kernel-PAE –y

  • Booter sur le nouveau kernel automatiquement

Une fois installer, il faut modifier le fichier /etc/grub.conf et remplacer default=1 par 0

exemple de fichier grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#   all kernel and initrd paths are relative to /boot/, eg.
#   root (hd0,0)
#   kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#   initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-417.el5PAE)
   root (hd0,0)
   kernel /vmlinuz-2.6.18-417.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet
   initrd /initrd-2.6.18-417.el5PAE.img
title CentOS (2.6.18-92.1.18.el5)

   root (hd0,0)
   kernel /vmlinuz-2.6.18-92.1.18.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
   initrd /initrd-2.6.18-92.1.18.el5.img
# (removed by Converter) title CentOS (2.6.18-92.el5)
# (removed by Converter)   root (hd0,0)
# (removed by Converter)   kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
# (removed by Converter)   initrd /initrd-2.6.18-92.el5.img

Voila, il ne vous reste plus qu’à ajouter votre ram et rebooter le serveur.