4Gb o mas de Ram. Como hacer que los reconozca Linux

Debido al bajo precio de la memoria y a las necesidades de las aplicaciones actuales, es muy común encontrar cada día mayor cantidad de computadoras con 4gb de RAM o aún más. La frustración viene cuando al iniciar la máquina el usuario se encuentra con que ésta le reconoce alrededor de 3gb de memoria RAM. La explicación a este inconveniente va más allá del sistema operativo (Linux, Windows o el que sea), pues radica en la propia arquitectura IA-32 (también conocida como i386, x86 o x86-32).
Básicamente, el problema de la arquitectura IA-32 consiste en lo siguiente:
La memoria física (memoria RAM) se divide en fracciones más pequeñas denominadas celdas.
Para acceder al contenido de una celda se necesita que la misma tenga una dirección.
Las direcciones se representan con números de 32 bits.
Con 32 bits el máximo número de direcciones que pueden obtenerse es 2^32, lo que permite direccionar como máximo 4gb.
Ahora bien, lo anterior explica el por qué los sistemas operativos de 32 bits no reconocen más de 4gb, pero aún no explica por qué ni siquiera reconocen los 4gb. Existe un segundo problema.
Arquitectura Von Neumann
La arquitecura IA-32 se clasifica dentro de las arquitecturas de Von Neumann que tienen la característica de utilizar un mismo espacio de direcciones para direccionar tanto memoria física como dispositivos periféricos (discos rígidos, placas de video, grabadora de DVD, etc), a diferencia de la arquitectura Harvard que utiliza espacios de direcciones diferentes para memoria y para periféricos.
La conclusión de lo anterior es que la cantidad de direcciones que pueden formarse con 32 bits deben repartirse no sólo con la memoria sino también con los dispositivos periféricos. Eso explica entonces por qué se ven menos de 4gb en sistemas de 32 bits.
¿Cuál es la solución entonces a este problema? La primera de ellas es instalar un sistema operativo de 64 bits aunque puede terminar convirtiéndose en un dolor de cabeza, debido a que existen el software disponible para ellos es menor (lo que muchas veces implica incluso drivers) y muchos programas “compatibles” pueden volverse inestables; la otra solución es utilizar PAE, que es un parche que introdujo Intel a partir de sus procesadores Pentium Pro (hace un largo tiempo atrás) que permite direccionar hasta 64gb de memoria.
Arquitectura Harvard

Ahora bien, tengo 4gb y uso la versión de 32 bits. ¿Como hago para que linux me los reconozca?

En Debian
aptitude install linux-image-2.6-686-bigmem
Ubuntu
sudo apt-get install linux-headers-server linux-image-server linux-server
Fedora,CentOS,Red Hat y derivados
yum install kernel-PAE
OpenSuse
zypper in kernel-pae
Archlinux
yaourt -S kernel-pae
Si usan nvidia sera necesario o quitar el driver nvidia anterior del otro kernel y ponerla para esta, o compartir el modulo con otro nombre (recomendado). Esto se puede hacer gracias a ABS:
abs
crear el directorio para modificar el PKGBUILD:
mkdir -p ~/devel/abs
Hacer una copia temporal del directorio donde esta el driver de nvidia:
cp -r /var/abs/extra/nvidia/ ~/devel/abs/
Ir al directorio temporal que se creó:
cd ~/devel/abs/nvidia
Editar el nvidia.install y el PKGBUILD :
nano nvidia.install
Remplazar el KERNEL_VERSION=”2.6.xx-ARCH” por: KERNEL_VERSION=”2.6.xx-pae”
Editar el PKGBUILD
nano PKGBUILD
y esta parte “pkgname=nvidia” cambiar a “pkgname=nvidia-pae” para no sobrescribir el paquete, también “_kernver=’2.6.xx-ARCH” cambiarlo por “_kernver=’2.6.xx-pae”
Instalar el paquete :
makepkg -c -i
Recordar agregar la linea al grub
Extraido de:
http://www.glatelier.org/2010/03/4gb-de-ram-o-mas-en-32-bits-arch-fedora-ubuntu
