Linux no reconoce toda la memoria del PC


Puede ocurrir si: Utilizamos loadlin para iniciar GNU/Linux.

Se soluciona: Utilizando lilo para arrancar GNU/Linux. También pasándole el parámetro "mem=128M" al kernel (en caso de ser 128 Mb de RAM).

En la distribución Mandrake Linux 6.1 (derivada de RedHat y compatible con ella) me ocurrió lo siguiente: yo tenía el kernel configurado y compilado de nuevo para aprovechar mejor mi máquina (supongo que no tendrá nada que ver el hecho de tener el kernel recompilado, seguramente también pasará con el kernel por defecto), y por comodidad arrancaba GNU/Linux mediante el programa loadlin desde el MS-DOS (en realidad desde el menú de arranque de W95).

El problema surgió cuando aumenté la memoria del ordenador de 64MB a 128MB: Linux no detectaba más que los 64 primeros, problema comun en los kernel 2.0.x, pero no muy habitual en los kernel 2.2.x. Se me ocurrió que podría ser por iniciar con loadlin. El caso es que iniciando con lilo (mediante un disquette o desde el MBR) sí que detecta los 128MB de memoria RAM.

Yo lo solucioné así, sin más.

Otra solución que siempre funciona es pasarle la cantidad de memoria como parámetro al kernel. Se puede hacer cuando inicia lilo, tecleando el nombre del sistema a iniciar seguido del parámetro (p.e. linux mem=128M) o se puede incluir en el fichero /etc/lilo.conf (añadiendo la línea append="mem=128M" en la entrada correspondiente del fichero). Mira la página man de lilo y lilo.conf para más información.

También puede ocurrir si: Usamos lilo para iniciar GNU/Linux.

En este caso la única forma que conozco para que el kernel detecte toda la memoria es pasándole el parámetro mem=x al kernel, tal como lo he explicado más arriba.


Volver a la página sobre linux