Segunda edição: aqui está o artigo da Microsoft Technet que explica a problema.
Sobre as duas figuras:
- A chave F2 informa o tamanho que a BIOS da placa-mãe vê para a memória
physically installed
no computador; - O segundo número que você vê (em "Detalhe" e o resultado de
lshw
) é o tamanho real da RAM que o sistema operacional carregado (SO) pode usar para executar programas.
Ambos estão corretos e a existência da grande diferença é OK.
Aqui está a explicação:
Seu computador está usando Intel® 945PM Express chipset
. Estas são as especificações oficiais do seu computador. Intel 945PM chipset
tem capacidade de endereçamento de memória física de 32 bits . Veja a página 23 do documento PDF, o texto é "interface de 32 bits para endereçar até 4 GB de memória". Portanto, seu computador pode manipular fisicamente apenas 4 GB de espaço de RAM endereçável e isso não muda independentemente do uso de 32-bit
ou 64-bit kernel
. Vários sistemas e dispositivos precisam reservar algum espaço de endereço de RAM para funcionar. Por exemplo, o barramento PCI-Express
precisa de 256 MB de espaço de endereço de RAM. A placa de vídeo precisa de 256 / 512MB adicionais, dependendo do modelo e da implementação. Houve problema semelhante com MacBook Pros
. Se você tem 3 GB de RAM em seu sistema, isso não é um problema, porque os espaços de endereços PCI-Express e de placa de vídeo são alocados antes do final da RAM, ou seja, acima de 3 GB. Mas quando você tem 4GB, o controlador de memória tem que desabilitar o acesso à RAM nos endereços entre os 4GB e onde esse espaço de buffer é iniciado.
Aqui está uma ilustração do problema. Eu não conheço o cara, mas deve ajudar a ilustrar o que está acontecendo. Esta é a postagem original .
Editar:
Você pode verificar como o espaço de endereço é alocado pelo comando cat /proc/iomem
. E aqui está a questão do Stackoverflow como entende o resultado .
Este problema não ocorrerá em sistemas equipados com chipset Intel 965. Pode lidar com mais RAM.