Recientemente nos encontramos con un problema muy extraño en el que la máquina virtual Linux con Sistema operativo Centos 5.X de 32 bits No podía reconocer más de 3 GB de RAM. Después de algunas investigaciones pudimos encontrar los siguientes hechos.
Por defecto, el sistema operativo Centos 5.5 de 32 bits viene con Linux 2.4.x Kernel que admite más de 4 GB de memoria física. Un kernel típico de Linux de 32 bits usa 1 GB de memoria física para su propio uso como Kernel Space y el resto de la memoria física se usará como Espacio de usuario . Por lo tanto, mientras esté en una máquina con sistema operativo Centos 5.X de 32 bits sin compatibilidad con PAE, la división del espacio del usuario y del kernel sería como 3 GB/1 GB. Eso significa que si agrega más de 3 GB de memoria física en su máquina, su máquina no lo abordará. Este problema se puede solucionar agregando compatibilidad con PAE en Kernel.
¿Qué es la extensión de dirección física (PAE)?
Extensión de dirección física (PAE) también conocida como Extensión de dirección de página , es una función de administración de memoria para la arquitectura IE-32 (i386) presentada con los procesadores Pentium Pro. Page Address Extension define una jerarquía de tablas de páginas de tres niveles con entradas de tablas de 64 bits en lugar de 32. Esto permite que las CPU con PAE accedan a un espacio de direcciones físicas de más de 4 GB. La extensión PAE permite un máximo de 64 GB de memoria física que puede abordar la CPU (no es un proceso). Si bien PAE no está compilado en el núcleo, el sistema operativo puede abordar un máximo de 4 GB de RAM. Si se encuentra en una situación similar y desea obtener Kernel con soporte PAE. Ejecute el siguiente comando desde la terminal.
yum install kernel-PAE
Una vez instalado Kernel, edite grub.conf archivo (normalmente ubicado en /etc/grub.conf o /boot/grub/grub.conf ) con un editor de su elección. Localice el parámetro timeout y configúrelo en 10 o más segundos, para que pueda tener más tiempo para seleccionar el Kernel de la lista. Guardar grub.conf archivo y reinicie su VPS.
Cuando su VM aparece después de reiniciar, obtendrá una lista de kernels actualmente instalados en su máquina. Seleccione el Kernel que desea cargar (Kernel con soporte PAE). Si su máquina virtual arranca correctamente con el Kernel compatible con PAE, configure el nuevo Kernel como predeterminado de la siguiente manera.
Nuevamente edite grub.conf archivo (tendría el siguiente aspecto), bajo título parámetro, vería una lista de todos los núcleos instalados. Cuente la posición del Kernel de su elección y establezca su valor en parámetro predeterminado . Guarde el grub.conf archivo y reinicie su VM
default=3 // default holds the value of position of Kernel timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Enterprise Linux ES (2.4.21-37.EL) // Kernel in 1st position root (hd0,0) kernel /vmlinuz-2.4.21-37.EL ro root=/dev/hda3 initrd /initrd-2.4.21-37.EL.img title Red Hat Enterprise Linux ES (2.4.21-32.0.1.EL) // Kernel in 2nd position root (hd0,0) kernel /vmlinuz-2.4.21-32.0.1.EL ro root=/dev/hda3 initrd /initrd-2.4.21-32.0.1.EL.img title Red Hat Enterprise Linux ES (2.4.21-27.0.4.EL) // Kernel in 3rd position root (hd0,0) kernel /vmlinuz-2.4.21-27.0.4.EL ro root=/dev/hda3 initrd /initrd-2.4.21-27.0.4.EL.img title Red Hat Enterprise Linux ES (2.4.21-27.0.2.EL) // Kernel in 4th position root (hd0,0) kernel /vmlinuz-2.4.21-27.0.2.EL ro root=/dev/hda3 initrd /initrd-2.4.21-27.0.2.EL.img
Una vez que su máquina virtual aparece después de reiniciar, active free -m comando para comprobar si se ocupa de la memoria física de más de 3 GB o no.