viernes, 29 de abril de 2011

Aumentando el limite de 4GB en Ubuntu

Hace unos días me toco instalar un Ubuntu Desktop en una PC que tenia 6GB RAM. La instalación fue toda normal pero cuando fui a ver los recursos disponibles del sistema me encontré que tenía reconocido 3.2GB RAM y me llamo la atención.

El tema viene así, para que el Kernel de Linux pueda manejar mas de 4GB de RAM debe disponer de soporte para PAE (Physical Address Extension), con esta opción se puede trabajar con mas RAM en sistemas de 32 Bits.

Para actualizar el Kernel en Ubuntu para activar el soporte debemos hacer lo siguiente:

sudo apt-get install linux-generic-pae linux-headers-generic-pae
Luego será necesario reiniciar para que tome el nuevo Kernel y la RAM. Otra solución para resolver este problema es instalar una versión de 64Bits, pero ésta no me servía ya que tenía que utilizar una aplicación que no tiene compatibilidad con las librerías en 64bits, así que de fuerza era de 32bits.

Para chequear la memoria hacemos:

free -m
              total       used       free     shared    buffers      cached 
Mem:          6019       5933         86          0        101        462 
-/+ buffers/cache:       5368        650 
Swap:         3906        321       3585 
Vía: Ciberciti

Hay que considerar que las aplicaciones generalmente se ven incapacitadas de usar más de 3,2 GB, porque su espacio de direccionamiento sigue limitado a 32 bit y una parte está reservada por el kernel. Así que esto solo sirve para que el sistema operativo disponga más memoria, agregando un nivel adicional de indirección en todos los accesos a memoria. A veces, en viejos servidores de 32 bits con grandes cantidades de memoria, no había otra opción. Algunas pocas aplicaciones lograban aprovecharlo creando muchos procesos o con soluciones muy complejas.

Los sistemas de 64 bit ya no brindan problemas. Y cuando hay una aplicación que está disponible solo en 32 bit, conviene más vale instalar las librerías de compatibilidad de 32, que permiten correr perfectamente apps de 32 en sistemas de 64.

Solo es conveniente usar un sistema operativo de 32 bit, si el sistema tiene menos de 4 GB de RAM, porque entonces el mayor espacio que ocupan las aplicaciones y las estructuras de datos puede no justificar el incremento de velocidad de las aplicaciones en 64 bit (que es muy variable, en promedio entre 10-16% para apps en gral).

Pero bueno, si el procesador no soporta los 64 bits, y se tornó imprescindible aprovechar más de 4 GB de RAM, se puede recurrir a PAE como última alternativa. Aunque se degrade el acceso a la memoria, puede ser mejor que cambiar de procesador, placa base y/o equipo.

No hay comentarios:

Publicar un comentario