¿Por qué Ubuntu 10.10 amd64 (Maverick Meerkat) no aborda más de 3 GB de RAM?
Mi máquina es un procesador Toshiba P205-S6287 Intel Centrino Duo de 64 bits y 4 GB de RAM a 667 MHz.
Según las especificaciones detalladas , el portátil ejecuta un procesador Core 2 Duo T5300 de 64 bits y tiene un chipset 945GM Express.
64-bit
ram
architecture
Peter Mortensen
fuente
fuente
uname -a
, la salida defree -m
y también confirmar que tiene más de 3 GB de RAM activa mirando su dmidecode?uname -a
diceRespuestas:
Esto se debe al Mobile Intel 945GM Express en su computadora portátil.
Tengo un Thinkpad T60, que usa el mismo chipset. Fue uno de los primeros puentes híbridos de Intel para las CPU Core2Duo de 64 bits. Fracasaron en diseñarlo.
El conjunto de chips solo puede abordar teóricamente 4 GB de RAM, pero también tiene que abordar otro hardware (memoria de E / S). Se reserva el rango de memoria superior de 1 GB para eso. El soporte de dirección de memoria lógica de 64 bits en el kernel de Linux no ayuda, porque la placa base y el puente norte solo proporcionan un bus de dirección física de 32 bits a la CPU. Y no hay solución alternativa.
http://forums.lenovo.com/t5/T61-and-prior-T-series-ThinkPad/Thinkpad-s-and-N100-sw-945PM-chipset-can-t-address-gt-3G-Ram/ mp / 2730
fuente
Mi respuesta corta es: probablemente porque el diseñador del BIOS fue descuidado.
La respuesta larga es:
Aunque tiene 4 GB de RAM instalados, no puede esperar tener 4 GB de RAM disponible con el chipset Intel 945GM. Esta es una limitación del conjunto de chips. Puedes decir esto de la especificación del chipset:
http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/mobile-945-express-chipset-datasheet.html
Cita de la sección 9.2: " El M emory C ontroller H . UBS proporciona un máximo DRAM espacio de direcciones de decodificación de 4 GB El MCH hace no APIC establecimiento nuevo de correspondencias o espacio de memoria PCI Express esto significa que como la cantidad de memoria física poblada en los alcances del sistema. 4 GB, habrá memoria física que existe pero que no es direccionable y, por lo tanto, inutilizable por el sistema " .
El BIOS debe reservar rangos de direcciones para varios recursos, es decir, el BIOS en sí, el espacio mapeado de memoria PCI y PCI Express, los gráficos internos, el espacio de memoria APIC y otras ventanas de memoria para el acceso de E / S. Todos estos rangos de direcciones tienen que estar dentro del espacio de direcciones de 4GB y, como tal, ocupan rangos de direcciones que ya no están disponibles para la memoria del sistema. Se podría decir que estos recursos "roban" espacio de memoria RAM física.
Dicho esto, si tiene 4 GB instalados , puede esperar tener más de 3 GB de memoria de sistema disponible .
La cantidad de memoria física que está disponible para el sistema depende de la cantidad de esfuerzo que el diseñador del BIOS pone en la organización de estos rangos de direcciones. Por ejemplo, el BIOS podría asignar la menor cantidad necesaria para cada recurso. O podría permitir deshabilitar o limitar la asignación de direcciones para PCI Express dependiendo del uso de su sistema de dispositivos PCI Express.
Es probable que el diseñador de BIOS de su sistema establezca el límite superior de RAM utilizable en un máximo estático de 3 GB, aunque haya instalado 4 GB. Este enfoque proporciona una ventana de dirección estática de 1 GB al diseñador del BIOS y, como tal, simplifica la tarea de los diseñadores del BIOS de asignar rangos de direcciones para los recursos para que no entren en conflicto con ningún otro rango de direcciones.
fuente
Hay varias razones posibles.
Una es que, de hecho, no está ejecutando la compilación amd64. Otra es que su placa base y / o BIOS están rotos y no informan la cantidad correcta de RAM.
Otra es que tiene memoria de video y otros recursos de hardware que ocupan espacio en el área de memoria de 3-4 GB, y su placa base / BIOS es incapaz de elevar la RAM sombreada a direcciones más altas para poder acceder a ella.
Averiguar cuál requiere mirar su
dmesg
salida.fuente
psusi tiene razón.
Tengo la misma situación aquí:
Aunque lo llaman "CPU de 64 bits", a menudo no se puede direccionar 4 GB + memoria.
La mayoría de las placas base antiguas solo tienen 32 bits para las direcciones y de este grupo la tarjeta gráfica también necesita obtener sus direcciones.
= 4 GB - memoria de tarjeta gráfica (1 GB) = 3 GB.
Me temo que no hay posibilidad de arreglar esto parcheando o actualizando el firmware de nada.
Si está interesado en los detalles, le recomiendo: Extensión de dirección física
fuente