Minha resposta curta é: provavelmente porque o designer do BIOS era desleixado.
A resposta longa é:
Embora você tenha 4 GB de RAM instalada, não é possível ter 4 GB de RAM utilizável disponível com o chipset Intel 945GM. Essa é uma limitação do chipset. Você pode dizer isso na especificação do chipset:
http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/mobile-945-express-chipset-datasheet.html
Citar a secção 9.2: " O H Emory C ontroller H . Ubs fornece um máximo DRAM espaço de endereço de descodificação de 4 GB A MCH não APIC remapeamento ou espaço de memória PCI Express Isto significa que, a quantidade de memória física preenchidos nos atinge sistema. 4 GB, haverá memória física que ainda existe, não é endereçável e, portanto, inutilizável pelo sistema " .
O BIOS deve reservar intervalos de endereços para vários recursos, ou seja, o próprio BIOS, espaço mapeado para memória PCI e PCI Express, gráficos internos, espaço de memória APIC e outras janelas de memória para acesso de E / S. Todos esses intervalos de endereços devem estar dentro do espaço de 4 GB e, como tal, ocupam intervalos de endereços que não estão mais disponíveis na memória do sistema. Você poderia dizer que esses recursos "roubam" o espaço físico da memória RAM.
Dito isto, se você tem 4 GB instalados, pode esperar ter mais de 3 GB de memória do sistema disponível .
A quantidade de memória física disponível para o sistema depende de quanto esforço o designer do BIOS coloca na organização desses intervalos de endereços. Por exemplo, o BIOS pode alocar a menor quantidade necessária para cada recurso. Ou pode permitir desabilitar ou limitar a alocação de endereços para o PCI Express, dependendo do uso do sistema de dispositivos PCI Express.
O designer do BIOS do seu sistema provavelmente configurou o limite superior da RAM utilizável para um máximo estático de 3 GB, mesmo que você tenha instalado 4 GB. Essa abordagem fornece uma janela de endereço estático de 1 GB para o designer do BIOS e, como tal, simplifica a tarefa de projetar o BIOS para alocar intervalos de endereços para os recursos, para que não entrem em conflito com nenhum outro intervalo de endereços.
uname -a
, a saída defree -m
e também confirmar que você tem mais de 3 GB de RAM ativo olhando para o seu código de dmid.