Eu tenho um notebook Asus U31SD com uma CPU i5-2430M . O site da Asus diz que a RAM máxima é de 8 GB, mas a da Intel diz que minha CPU suporta 16 GB. Qual é a RAM máxima que posso usar neste sistema no Ubuntu?
Eu tenho um notebook Asus U31SD com uma CPU i5-2430M . O site da Asus diz que a RAM máxima é de 8 GB, mas a da Intel diz que minha CPU suporta 16 GB. Qual é a RAM máxima que posso usar neste sistema no Ubuntu?
Respostas:
Na verdade, o limite está entre o hardware (suporte à memória da placa-mãe e a quantidade de slots) e a versão do Ubuntu (32 bits, 32 bits + PAE, x32ABI, 64 bits)
Se você possui uma placa-mãe que suporta no máximo 4 GB, não importa se você usa 32 bits, 32 bits PAE ou 64 bits, pois você terá um limite de hardware de 4 GB.
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 possuem a seguinte memória máxima suportada:
Ubuntu 32 bits - 4 GB de RAM
Ubuntu 32 bits + PAE (extensão de endereço físico) - 64 GB de RAM
Ubuntu x32ABI - 4GB RAM (Isso é para arquitetura de 32 bits modificada com aprimoramentos de 64 bits em execução no hardware de 64 bits. Ele ainda não está disponível.)
Ubuntu 64 Bit - MUITO! (Atualmente 2 ^ 64), mas devido aos limites de hardware e computadores do mundo real, o limite é de cerca de 1 TB (1024 GB de RAM)
Portanto, a pergunta 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 bits PAE ou 64 bits, que suportam tamanhos de memória realmente grandes.
Observe também que, se você tem, por exemplo, 4 GB no momento e compra 16 GB de RAM, não há necessidade de reinstalar o Ubuntu ou fazer alterações. Apenas mude as memórias e o Ubuntu deve ler e trabalhar com elas imediatamente. Nenhuma configuração é necessária. Se você possui 32 bits com 4 GB de RAM e instala 16 GB ou RAM, o Ubuntu muda automaticamente de 32 bits para 32 bits PAE. Posso garantir isso desde que mudei de 4 GB para 16 GB no início deste ano.
Aqui está um link para uma explicação muito boa para o Ubuntu sobre a memória em 32/64: https://help.ubuntu.com/community/32bit_and_64bit#Memory
UPDATE - Esqueceu-se de acrescentar que algumas placas-mãe possuem atualizações de BIOS que permitem, corrigem ou aprimoram o máximo de memória suportada. Por exemplo, no passado, algumas placas-mãe da Intel tinham problemas em trabalhar com o máximo suportado. Uma atualização do BIOS corrigiu isso. Outras placas-mãe tinham suporte para 4 GB devido a um problema no BIOS, após a atualização, eles tinham suporte para mais de 4 GB.
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 uma delas. Então, por exemplo:
CASE 1
Memória máxima suportada da CPU -
placa mãe de 16 GB Memória
máxima suportada - 8 GB
Sua memória máxima suportada - 8 GB (porque é o valor mais baixo entre a CPU e a placa mãe)
CASE 2
Memória máxima suportada da CPU -
placa mãe de 16 GB Memória
máxima suportada - 32 GB
Sua memória máxima suportada - 16 GB (porque é o valor mais baixo entre a CPU e a placa mãe)
CASE 3
Memória máxima suportada da CPU -
placa mãe de 16 GB Memória
máxima suportada - 64 GB
Sua memória máxima suportada - 16 GB (porque é o valor mais baixo entre a CPU e a placa mãe)
A razão por trás dessa relação de limite de memória para a CPU é devido a modificações técnicas da Intel com as últimas CPUs Core.
Portanto, no seu caso, você tem uma placa-mãe que suporta 8 GB e uma CPU que suporta 16 GB. Isso significa que o máximo que você pode ter é de 8 GB, que você pode usar dependendo da quantidade de slots na placa-mãe. Nesse Asus você tem 2 slots, o que significa que você pode ter dois 4 GB de RAM para completar o máximo de 8 GB.
Mais informações sobre x32abi:
KernelNewbies - http://kernelnewbies.org/Linux_3.4#head-039c9d273884c9639937c10d68b4a3214869eb4b
LWN - https://lwn.net/Articles/456731/ (Recomende a leitura de comentários para obter explicações fáceis de aprender sobre o limite de memória)
Google - http://sites.google.com/site/x32abi/
Por fim, desde o Ubuntu 12.04, todas as versões de 32 bits do Ubuntu vêm com o PAE ativado por padrão; portanto, todas as 32 bits suportam um máximo de 64 GB de RAM. Caso você esteja usando o 12.04+ e deseje saber qual arquitetura usar, agora você sabe que pode usá-los desde que siga algumas recomendações:
Se você tiver 512 MB de RAM ou menos, é altamente recomendável usar 32 bits
Se você tiver menos de 4 GB de RAM, mas mais de 512 MB, é recomendável usar 32 bits (mas você ainda pode usar 64 bits)
Se você tem 4 GB de RAM, é recomendável 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ê tiver mais de 64 GB de RAM, precisará usar 64 Bit
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) é ativada por padrão com um limite de 2 ^ 36 = 64 GB.
Para 64 bits, deve ser 2 ^ 64 = 16.777 216 TB (sim, é Terabyte) por via térmica. Na realidade, a quantidade de RAM é limitada a 2 ^ 48 ou 256 TB de RAM.
Como os limites teóricos não podem realmente ser alcançados em um laptop normal, a limitação real é a quantidade de slots de memória (normalmente 1-2) no 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.
Acabei de comprar um 8GB extra para colocar no meu U31SD, totalizando 12GB. Apesar da página de especificações da Asus dizer que 8 GB é o limite, isso funciona bem. Passou no memtest86 e é visível no Ubuntu de 64 bits.
Tenho a atualização mais recente da BIOS instalada, não tenho certeza se isso faz alguma diferença.
FYI, saída de sudo dmidecode -t 16
indica Maximum Capacity: 16 GB
.
É uma restrição na placa-mãe e não na CPU. A CPU pode suportar até 16 GB, mas se a placa-mãe suportar apenas 8 GB, esse é o seu limite.
No Ubuntu, se você estiver executando 32 bits, seu limite é de 4 GB e se estiver executando 64 bits, é muito maior (não me lembro ao certo, mas está bem acima de 16 GB.
Mas você sempre será restringido pelo seu hardware. Você sempre deve comparar o limite da placa-mãe e o limite da CPU e assumir o valor mais baixo como o limite do PC.
No seu caso específico, 8 GB devem-se ao fato de sua placa-mãe não suportar mais do que a quantidade de RAM.
Mas o próprio Ubuntu suporta no máximo 4 GB para 32 bits, 64 GB no PAE de 32 bits e 128 GB no 64 bits (embora teoricamente o limite seja muito maior para 64 bits).
havia muitas perguntas que determinam o tamanho de um ponteiro. basicamente, como regra geral, você pode dizer que essa é a arquitetura do 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 8 GB 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. Por isso, não posso ter mais de 4 GB de RAM na arquitetura x86.
Existem outras possibilidades:
A quantidade de RAM não é limitada pela arquitetura (32 ou 64 bits). A arquitetura decide apenas quanta memória pode ser endereçada por vez, pelo sistema operacional e pelos programas em execução. Em uma máquina de 32 bits, ou seja, uma máquina com barramento de memória de 32 bits, o sistema operacional 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 o tiver fornecido, você poderá ter 16 GB ou 4x4 GB de RAM. Nesse caso, haverá mais 2 linhas de endereço "ocultas" e também haveria lógica codificada para decidir os níveis dessas 2 linhas, selecionando assim qualquer uma das 4 GB de RAM disponíveis - 00 01 10 11. Esses bits de endereço "ocultos" não são usados pelas camadas de software; portanto, para essas camadas, eles podem usar apenas um ponteiro de 4 bytes. O número desses "ocultos"
isso é apenas um exemplo. Depende do fornecedor, como eles decidem fornecer a RAM extra.
Veja também:
No caso usual, um ponteiro é grande o suficiente para armazenar mais endereços do que existem unidades de memória no sistema. Isso introduz a possibilidade de um programa tentar acessar um endereço que não corresponde a nenhuma unidade de memória, ou porque não há memória suficiente instalada (ou seja, além do intervalo de memória disponível) ou a arquitetura não suporta esses 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 na implementação atual do AMD64, onde os ponteiros têm 64 bits e os endereços se estendem apenas a 48 bits. Lá, os ponteiros devem estar em conformidade com certas regras (endereços canônicos); portanto, se um ponteiro não-canônico for desreferenciado, o processador causará uma falha geral de proteção.
Por outro lado, alguns sistemas têm mais unidades de memória do que endereços. Nesse caso, um esquema mais complexo, como segmentação ou paginação de memória, é empregado para usar diferentes partes da memória em momentos diferentes. As últimas encarnações da arquitetura x86 suportam até 36 bits de endereços de memória física, que foram mapeados para o espaço de endereço linear de 32 bits por meio do mecanismo de paginação PAE. Assim, apenas 1/16 da memória total possível pode ser acessada por vez. Outro exemplo na mesma família de computadores foi o modo protegido de 16 bits do processador 80286, que, apesar de suportar apenas 16 MiB de memória física, podia acessar até 1 GiB de memória virtual, mas a combinação de endereço e segmento de 16 bits os registros dificultaram o acesso a mais de 64 KiB em uma estrutura de dados.
Para fornecer uma interface consistente, algumas arquiteturas fornecem E / S mapeadas na memória, o 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, índices de matriz e referências a objetos remotos que servem para os mesmos propósitos que endereços para outros tipos de objetos.
(mais aqui )