Por que mais de 3GB de RAM não são reconhecidos quando se usa o amd64?

7

Por que o Ubuntu 10.10 amd64 não aborda mais de 3 GB de RAM? Por favor, se alguém souber sobre isso, me diga a solução.

Minha máquina é um processador Intel P205-S6287 centrino duo 64 bits e 4 GB de RAM 667MHz.

De acordo com as especificações detalhadas , o notebook executa um Core 2 de 64 bits Processador Duo T5300 e possui um chipset 945GM Express.

    
por Daniel K. 08.01.2011 / 08:15

4 respostas

15

Isso se deve ao Mobile Intel 945GM Express em seu laptop.

Eu possuo um Thinkpad T60, que usa o mesmo chipset. Foi uma das primeiras pontes norte-americanas da Intel para os processadores Core2Duo de 64 bits. Eles falharam em projetá-lo.

O chipset só pode, teoricamente, endereçar 4GB de RAM, mas também tem que endereçar outro hardware (memória de E / S). Ele reserva o intervalo de memória superior de 1 GB para isso. O suporte de endereço de memória lógica de 64 bits no kernel do Linux não ajuda, porque a mainboard e northbridge fornecem apenas um barramento de endereço físico de 32 bits para a CPU. E não há solução alternativa.

  

Existe uma opção teórica na criação de comutação de bancos de memória. No entanto, o kernel não suporta isso, nem faria sentido na arquitetura x86. O controlador de memória i810 do 945GM é provavelmente muito preguiçoso para fazer sentido.

    
por mario 09.01.2011 / 07:46
1

Existem várias razões possíveis. Uma é que, na verdade, você não está executando a compilação amd64. Outra é que sua placa-mãe e / ou bios estão quebradas e não estão relatando a quantidade correta de memória RAM. Outra é que você tem memória de vídeo e outros recursos de hardware ocupando espaço na área de memória de 3-4 GB, e sua placa-mãe / bios é incapaz de içar o RAM sombreado para endereços mais altos para que ele possa ser acessado.

Descobrir o que requer olhar para o seu dmesg.

    
por psusi 08.01.2011 / 15:22
0

o psusi está certo.

Eu tenho a mesma situação aqui:

Embora chamem de "64Bit cpu", muitas vezes você não consegue endereçar 4 GB + de memória.

A maioria das placas-mãe antigas tem apenas 32 bits para os endereços e, a partir deste conjunto, a placa gráfica precisa obter seus endereços também.

= 4 GB - Memória da placa gráfica (1 GB) = 3 GB.

Eu temo que não haja possibilidade de consertar isso corrigindo ou atualizando o firmware de qualquer coisa.

Se você está interessado em detalhes, eu recomendo: link

    
por aatdark 08.01.2011 / 16:05
0

Minha resposta curta é: provavelmente porque o designer do BIOS foi malfeito.

A longa resposta é:

Embora você tenha 4 GB de RAM instalada, você não pode esperar ter 4 GB de RAM utilizável disponível com o chipset Intel 945GM. Esta é uma limitação do chipset. Você pode dizer isso da especificação do chipset:

link

Cite a partir da seção 9.2: " O M emory C ontroller H ubs fornece um espaço de decodificação de endereço DRAM máximo de 4 GB O MCH não remapeia o espaço de memória APIC ou PCI Express. Isso significa que, como a quantidade de memória física ocupada no sistema chega a 4 GB, haverá memória física que existe ainda 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 de 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 precisam estar dentro do espaço de endereço de 4 GB e, como tal, ocupar 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, você pode esperar ter mais de 3 GB de memória disponível .

A quantidade de memória física que está 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 poderia alocar a menor quantidade necessária para cada recurso. Ou pode permitir a desativação ou limitação da alocação de endereços para PCI Express, dependendo do uso do sistema de dispositivos PCI Express.

O projetista do BIOS do seu sistema provavelmente definiu o limite superior de 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 dos designers de BIOS de alocar intervalos de endereços para os recursos, de modo que não entrem em conflito com nenhum outro intervalo de endereços.

    
por Daniel K. 30.05.2015 / 10:22