Qual é a quantidade máxima de RAM que posso usar em um hardware específico

23

Tenho um Notebook da Asus U31SD com i5-2430M CPU. O site da Asus diz que a memória RAM máxima é de 8 GB, mas a Intel diz que a minha CPU suporta 16 GB. Qual é a RAM máxima que posso usar neste sistema no Ubuntu?

    
por crond 25.05.2012 / 14:03

6 respostas

25

O limite é realmente entre o seu hardware (suporte de memória da placa-mãe e quantidade de slots nele) e a versão do Ubuntu (32 bits, 32 bits + PAE, x32ABI, 64 bits)

Se você tem uma placa-mãe que suporta no máximo 4GB, não importa se você usa 32 bit, 32 bit PAE ou 64 bit, já que você terá um limite de hardware de 4GB.

Mas se você comprar uma placa-mãe que suporte uma quantidade maior de memória, poderá brincar com as versões do Ubuntu, que têm a seguinte memória máxima suportada:

Ubuntu 32 Bits - 4 GB de RAM

Ubuntu 32 Bit + PAE (extensão de endereço físico) - 64 GB de RAM

Ubuntu x32ABI - 4 GB de RAM (isto é para arquitectura de 32 bits modificada com melhorias de 64 bits executadas em hardware de 64 bits. Ainda não está disponível.)

Ubuntu 64 Bit - MUITO! (Na verdade 2 ^ 64), mas por causa dos limites de hardware e computadores do mundo real, o limite é de cerca de 1TB (1024GB de RAM)

Portanto, a questão sobre o limite de memória deve ser usada quando você estiver usando mais de 4 GB de RAM. Nesse caso, você precisaria de 32 Bit PAE ou 64 BIT que suportam tamanhos de memória realmente grandes.

Observe também que, se você tem, por exemplo, 4 GB agora e compra 16 GB de RAM, não há necessidade de reinstalar o Ubuntu ou fazer qualquer alteração. Basta mudar as memórias e o Ubuntu deve ler e trabalhar com elas fora da caixa. Nenhuma configuração necessária. Se você tiver 32 bits com 4 GB de RAM e instalar 16 GB ou RAM, o Ubuntu mudará automaticamente de PAE de 32 bits para 32 bits. Eu posso garantir isso desde que mudei de 4 GB para 16 GB no começo deste ano.

Aqui está um link para uma explicação muito boa para o Ubuntu sobre a memória em 32/64: link

UPDATE - Esqueceu-se de acrescentar que algumas placas-mãe possuem atualizações de BIOS que permitem, corrigem ou melhoram a memória máxima suportada. Por exemplo, algumas placas-mãe da Intel no passado tiveram problemas para trabalhar com o máximo que suportavam. Uma atualização do BIOS corrigiu isso. Outras placas-mãe tinham suporte para 4GB por causa de um problema de BIOS, depois de atualizar eles tinham suporte para mais de 4GB.

Também comparando a memória máxima suportada para a CPU e a placa-mãe, o máximo que você pode ter é o mínimo de qualquer um deles. Então, por exemplo:

CASO 1
Memória Suportada Máxima da CPU - 16GB
Motherboard Maximum Supported Memory - 8GB
Sua memória máxima suportada - 8GB (Porque é o menor valor entre a CPU e a placa-mãe)

CASO 2
Memória Suportada Máxima da CPU - 16GB
Motherboard Maximum Supported Memory - 32GB
Sua memória máxima suportada - 16GB (Porque é o menor valor entre a CPU e a placa-mãe)

CASO 3
Memória Suportada Máxima da CPU - 16GB
Motherboard Memória Suportada Máxima - 64GB
Sua memória máxima suportada - 16GB (Porque é o menor valor entre a CPU e a placa-mãe)

O motivo por trás dessa relação de limite de memória para a CPU é devido a modificações técnicas da Intel com as CPUs Core mais recentes.

Então, no seu caso, você tem uma placa-mãe que suporta 8GB e uma CPU que suporta 16GB. Isso significa que o máximo que você pode ter é 8GB, o que você pode usar dependendo da quantidade de slots na placa-mãe. Naquele Asus você tem 2 Slots, o que significa que você pode ter dois 4GB de RAM para completar o máximo de 8GB.

Mais informações sobre x32abi:

KernelNewbies - link

LWN - link (Recomende a leitura de comentários para obter explicações fáceis de aprender sobre o limite de memória)

Google - link

Por último, desde o Ubuntu 12.04, todas as versões de 32 bits do Ubuntu vêm com o PAE ativado por padrão, então todos os 32 bits suportarão um máximo de 64 GB de RAM. Caso você esteja usando o 12.04+ e queira saber qual arquitetura usar, agora sabe que pode usar qualquer um deles, desde que siga algumas recomendações:

  • Se você tem 512 MB de RAM ou menos, é altamente recomendável usar 32 Bit

  • Se você tem menos de 4 GB de RAM, mas mais de 512 MB, recomenda-se usar 32 bits (mas você ainda pode usar 64 bits)

  • Se você tem 4 GB de RAM, recomenda-se usar 32 bits (mas você ainda pode usar 64 bits)

  • Se você tiver entre 4 GB ou RAM e 64 GB de RAM, poderá usar 32 bits ou 64 bits, mas é recomendável usar 64 bits.

  • Se você tem mais de 64 GB de RAM, precisa usar 64 bits

por Luis Alvarado 25.05.2012 / 14:54
6

Para 32 bits, o limite teórico é 2 ^ 32 = 4096 MB, mas a partir do Ubuntu 12.04 no PAE (Extensão de Endereço Físico) é ativado por padrão com um limite de 2 ^ 36 = 64 GB.

Para 64 bits, deve ser 2 ^ 64 = 16 777 216 TB (sim, Terabyte), em termos teóricos. Na realidade, a quantidade de RAM é limitada a 2 ^ 48 aka 256 TB de RAM.

Como os limites teóricos não podem ser alcançados em um laptop normal, a limitação real é a quantidade de slots de memória (normalmente 1-2) em seu notebook e o suporte do chipset. 8-16 GB é realista aqui, se você estiver disposto a pagar muito pelos módulos de 8 GB.

    
por turbo 25.05.2012 / 14:31
4

Acabei de comprar um extra de 8 GB para aparecer no meu U31SD, para um total de 12 GB. Apesar da página de especificações da Asus dizendo que 8GB é o limite, isso funciona bem. Passou memtest86 e é visível para o Ubuntu de 64 bits.

Eu tenho a última atualização do BIOS instalada, não tenho certeza se isso faz alguma diferença.

FYI, a saída de sudo dmidecode -t 16 indica Maximum Capacity: 16 GB .

    
por user77303 16.07.2012 / 09:39
1

É uma restrição na placa-mãe que não está na CPU. A CPU pode suportar até 16GB, mas se a placa-mãe tiver capacidade para apenas 8GB, esse é o limite.

No Ubuntu, se você estiver executando 32 bits, seu limite será de 4 GB e se você estiver executando 64 bits, será muito mais alto (não se lembra ao certo, mas está muito acima de 16 GB.

Mas você sempre será restringido pelo seu hardware. Você deve sempre comparar o limite da placa-mãe com o limite da CPU e usar o menor valor como limite do PC.

    
por Jacob Tomlinson 25.05.2012 / 14:16
0

No seu caso específico, 8 GB é devido a sua placa-mãe não suportar mais do que essa quantidade de RAM.

Mas o próprio Ubuntu suporta 4 GB no máximo para 32 bits, 64 GB no PAE de 32 bits e 128 GB em 64 bit (embora teoricamente o limite seja muito maior para 64 bits).

    
por MuffinStateWide 25.05.2012 / 16:19
0

houve muitas perguntas que determinam o tamanho de um ponteiro. basicamente, como regra geral, você pode dizer que isso é uma arquitetura de processador,

x86 -> 4 bytes pointer -> can address 4,294,967,296 locations = 4GB (it is the limit)

x64 -> 8 bytes pointer -> can address 1.84467440737e+19 locations (it is the limit, big, eh)

Para endereçar 8GB de RAM você precisa de 8.589.934.592 mapeamentos e o ponteiro de tamanho 4 bytes não pode endereçar todos os valores possíveis. então é por isso que não posso ter mais de 4GB de RAM na arquitetura x86.

Existem algumas outras possibilidades:

  

A quantidade de RAM não é limitada pela arquitetura (32 ou 64 bits).   Arquitetura só decide quanta memória pode ser endereçada de cada vez,   pelo SO e os programas executados nele. Em uma máquina de 32 bits,   é, uma máquina com barramento de memória de 32 bits, o SO e os programas podem   "ver" apenas 4 GB de memória. Mas isso não significa que haja apenas 4 GB de   RAM. Se o fabricante tiver fornecido, você pode ter 16 GB ou   4 x 4 GB de RAM. Nesse caso, haverá mais dois endereços "ocultos"   linhas e também haveria lógica codificada para decidir os níveis de   essas 2 linhas, selecionando assim qualquer um dos 4 GB RAMs disponíveis - 00 01   10 11. Esses bits de endereço "ocultos" não são usados pelo software   camadas, portanto, para essas camadas, elas só podem usar um ponteiro de 4 bytes. o   número dessas linhas de endereço "ocultas" decide quanto você pode   estenda sua RAM.

     

Este é apenas um exemplo. Depende do vendedor, como eles decidem   fornecer a RAM extra.

veja também:

  

No caso normal, um ponteiro é grande o suficiente para conter mais endereços   do que existem unidades de memória no sistema. Isso introduz o   possibilidade de que um programa tente acessar um endereço que   corresponde a nenhuma unidade de memória, seja porque não há memória suficiente   instalado (ou seja, além do intervalo de memória disponível) ou   arquitetura não suporta tais endereços. O primeiro caso pode, em   certas plataformas, como a arquitetura Intel x86, ser chamado de   falha de segmentação (segfault). O segundo caso é possível no   implementação atual do AMD64, onde os ponteiros são de 64 bits e   os endereços só se estendem a 48 bits. Lá, os ponteiros devem estar de acordo com   certas regras (endereços canônicos), portanto, se um ponteiro não-canônico for   desreferenciada, o processador gera uma falha geral de proteção.

     

Por outro lado, alguns sistemas possuem mais unidades de memória do que   são endereços. Neste caso, um esquema mais complexo, como memória   segmentação ou paginação é empregada para usar diferentes partes do   memória em momentos diferentes. As últimas encarnações do x86   arquitetura suporta até 36 bits de endereços de memória física, o que   foram mapeados para o espaço de endereço linear de 32 bits através da paginação PAE   mecanismo. Assim, apenas 1/16 da memória total possível pode ser   acessado por vez. Outro exemplo na mesma família de computadores foi   o modo protegido de 16 bits do processador 80286, que, embora   suportando apenas 16 MiB de memória física, poderia acessar até 1 GiB de   memória virtual, mas a combinação de endereço e segmento de 16 bits   registros feitos acessando mais de 64 KiB em uma estrutura de dados   incômodo. Algumas restrições da aritmética de ponteiros ANSI podem ter sido   devido aos modelos de memória segmentados desta família de processadores. [citação   necessário]

     

Para fornecer uma interface consistente, algumas arquiteturas fornecem   E / S mapeada em memória, que permite que alguns endereços se refiram a unidades de   memória enquanto outros se referem a registros de dispositivos de outros dispositivos no   computador. Existem conceitos análogos, como deslocamentos de arquivos, matriz   índices, e referências de objetos remotos que servem alguns dos mesmos   propósitos como endereços para outros tipos de objetos.

(mais aqui )

    
por 4pie0 11.03.2013 / 18:42

Tags