¿Por qué Ubuntu solo muestra 3GB de RAM?

27

Tengo una computadora portátil Asus G50vt-x5 con 4GB de RAM instalada. Pero Ubuntu 10.10 muestra solo 3 GB de RAM. ¿Por qué solo muestra 3 GB de RAM en lugar de los 4 GB completos? La salida del freecomando es:

neal@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:       3095668    2972784     122884          0     747996    1590044
-/+ buffers/cache:     634744    2460924
Swap:            0          0          0
nebulosa
fuente
Solo para los curiosos entre nosotros, ¿puedes publicar la salida del freecomando?
organizar el
vea también esta respuesta
Takkat

Respuestas:

30

Si instaló la versión de 32 bits de Ubuntu, no reconocerá más de 4 GB de memoria. Deberá instalar la versión de Ubuntu de 64 bits para que el sistema reconozca más de 4 GB de memoria.

Ver también:


Tenga en cuenta que el estándar ahora es que las imágenes de Ubuntu se compilen y se envíen con el núcleo habilitado para PAE que permite el uso de más de 4 GB de RAM en sistemas de 32 bits. Sin embargo, esto requiere el uso de un procesador compatible con PAE en su sistema. Si su sistema es lo suficientemente antiguo, los núcleos PAE no funcionarán y la restricción anterior de un límite de memoria de 4 GB seguirá en pie.

Thomas Ward
fuente
30
O la versión PAE de 32 bits del kernel.
organizar el
2
@aneal: en esta situación, Ubuntu no usará ninguna cantidad de memoria superior a 3GB. Agregué el motivo a mi respuesta, por lo que debe instalar la versión de 64 bits o PAE.
Pedram
2
@EvilPhoenix: Eso no es estrictamente cierto, si inician un livecd de 64 bits e instalan ubuntu a mano (también conocido como debootstrap/cdebootstrap), sus configuraciones / archivos estarán intactos, excepto por supuesto /etc.
OneOfOne
2
El límite del kernel de 32 bits no pae es 4 gb, no 3.
psusi
2
@psusi el máximo es 3.6 GB de memoria de núcleos que no son PAE, también Thomas, tenga en cuenta que Ubuntu ahora construye núcleos pae para todo, no hay un núcleo no pae en versiones recientes.
Braiam
40

Puede instalar la versión de 64 bits, pero si no desea hacerlo, puede instalar el núcleo habilitado para PAE (Extensión de dirección física) en la versión de 32 bits.

Después de 10.04, Ubuntu instala automáticamente el núcleo habilitado para PAE si detecta más de 3 Gb de memoria. Pero el ubuntu wiki dice:

En el caso del liveCD, se requiere una conexión de red que funcione, ya que los paquetes de kernel habilitados para PAE no están presentes en el CD.

Así que supongo que instaló Ubuntu usando un CD sin conexión a Internet.

Prueba esto:

sudo apt-get install linux-generic-pae linux-headers-generic-pae


¿Qué es el PAE?

Physical Address Extension es una tecnología que permite que los sistemas operativos de 32 bits utilicen hasta 64 Gb de memoria (RAM), algo que normalmente se logra al cambiar a un sistema de 64 bits. PAE es compatible con la mayoría de las computadoras de hoy y es un procedimiento fácil habilitarlo en Ubuntu, si aún no lo es. Para verificar si su procesador admite PAE, intente

grep --color=always -i PAE /proc/cpuinfo

En general, se recomienda un sistema de 64 bits adecuado si tiene 4 Gb o más de memoria y / o desea obtener el beneficio completo de la arquitectura de 64 bits (consulte 32bit_and_64bit), pero en algunos casos, hacer un cambio completo a 64 bit no es deseable, y usar PAE puede ser un compromiso viable.

Cabe señalar que no hay extensión de dirección virtual. es decir, las aplicaciones aún obtienen la misma cantidad de memoria virtual ya que las direcciones virtuales siguen siendo de 32 bits, mientras que las direcciones físicas son de 36 bits. Por lo tanto, PAE no es en absoluto equivalente a un sistema de 64 bits.

Pedram
fuente
Cualquier gastos generales de rendimiento?
Ashfame
¿Pero no son los sistemas de 64 bits solo para procesadores AMD?
Starx
1
@Pedram muchas gracias! Esta debería ser la respuesta correcta porque introduce otra posibilidad de pasar el límite sin reinstalar el sistema. Instalé esos paquetes de kernel de Linux y después de reiniciar tengo mis 4 GB de RAM disponibles. Muchas gracias.
Alejandro García Iglesias
Tenga en cuenta que en estos días, Ubuntu eliminó el kernel de 32 bits no PAE.
psusi
2

Abra / var / log / dmesg / dmesg y busque la sección cerca del comienzo que se ve así:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009d800 (usable)
[    0.000000]  BIOS-e820: 000000000009d800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)

Publique esa sección para un análisis detallado. También busque otra línea un poco más abajo como esta:

[    0.000000] Memory: 4019820k/4972544k available (5694k kernel code, 798616k absent, 154108k reserved, 2514k data, 944k init)

Muchas veces hay cosas como la memoria de video que ocupa espacio en el área de 3-4 gb. En algunos sistemas, esa memoria simplemente se pierde. En otros, se puede reasignar, a menudo por encima de la marca de 4 gb, a la que necesita el kernel pae o 64 bits para acceder.

psusi
fuente
2
Solo quería comentar que tengo una placa Asus que perdió 1 GB de memoria, incluso después de instalar 64 bits. Tuve que habilitar la reasignación en la BIOS, como se aludió en esta respuesta.
user1974
1

Tiene tres soluciones, dos de las cuales ya se han sugerido:

  • instale un kernel de 64 bits en su instalación i386; en Debian solo es cuestión de instalar kernel-image-2.6-amd64-k8yamd64-libs
  • instalar un kernel de 32 bits con PAE activado
  • reinstalar un sistema completo de 64 bits
sam hocevar
fuente
¿Pero no son los sistemas de 64 bits solo para procesadores AMD?
Starx
No, Intel adoptó el conjunto de instrucciones amd64 cuando su serie Itanium falló y se convirtió en el estándar de facto.
sam hocevar
Tengo Intel Core i 7 720 qm. ¿Correrá allí?
Starx
Sí. Vea una lista de CPU Intel compatibles aquí: en.wikipedia.org/wiki/X86-64#Intel_64_implementations
sam hocevar
0

Rum memtest ("Prueba de memoria") desde el menú de inicio (o el medio de instalación) si la primera pantalla informa menos de 4 Gb, actualiza (Flash * ROM) tu BIOS.

Ejecute sudo lshw para determinar el modelo de su placa base, luego diríjase al sitio del proveedor y DL a la última BIOS.

yPhil
fuente