Por que o Ubuntu mostra apenas 3 GB de RAM?

27

Eu tenho um laptop Asus G50vt-x5 com 4 GB de RAM instalado. Mas o Ubuntu 10.10 mostra apenas 3 GB de RAM. Por que está mostrando apenas 3 GB de RAM em vez dos 4 GB completos? a saída do freecomando é:

neal@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:       3095668    2972784     122884          0     747996    1590044
-/+ buffers/cache:     634744    2460924
Swap:            0          0          0
nebulosa
fonte
Apenas para os curiosos entre nós, você pode postar a saída do freecomando?
organize
veja também esta resposta
Takkat 27/03

Respostas:

30

Se você instalou a versão de 32 bits do Ubuntu, ele não reconhecerá mais de 4 GB de memória. Você precisará instalar a versão de 64 bits do Ubuntu para que o sistema reconheça mais de 4 GB de memória.

Veja também:


Observe que o padrão agora é que as imagens do Ubuntu sejam construídas e enviadas com o kernel habilitado para PAE, o que permite o uso de mais de 4 GB de RAM em sistemas de 32 bits. No entanto, isso requer o uso de um processador compatível com PAE em seu sistema. Se o seu sistema for suficientemente antigo, os kernels do PAE não funcionarão e a restrição acima de um limite de 4 GB de memória ainda permanecerá.

Thomas Ward
fonte
30
Ou a versão PAE de 32 bits do kernel.
organize
2
@aneal: Nesta situação, o Ubuntu não usará nenhuma quantidade de memória com mais de 3 GB. Adicionei o motivo à minha resposta, então você deve instalar a versão de 64 bits ou o PAE.
Pedram
2
@EvilPhoenix: Isso não é estritamente verdade, se eles inicializarem um livecd de 64 bits e instalarem o ubuntu manualmente (aka debootstrap/cdebootstrap), suas configurações / arquivos estarão intactos, exceto é claro /etc.
OneOfOne 27/03
2
O limite do kernel pouco não pae 32 é de 4 GB, não 3.
psusi
2
@psusi o máximo é 3,6 GB de memória de kernels não PAE, também Thomas, leve em consideração que o Ubuntu agora cria pae kernels para tudo, não há um kernel não pae nas versões recentes.
Braiam
40

Você pode instalar a versão de 64 bits, mas se não quiser fazer isso, poderá instalar o kernel ativado para PAE (Extensão de Endereço Físico) na versão de 32 bits.

Após o 10.04, o Ubuntu instala automaticamente o kernel habilitado para PAE se detectar mais de 3 Gb de memória. Mas o wiki do ubuntu diz:

No caso do liveCD, é necessária uma conexão de rede ativa, pois os pacotes de kernel habilitados para PAE não estão presentes no CD.

Então eu acho que você instalou o Ubuntu usando CD sem conexão à Internet.

Tente o seguinte:

sudo apt-get install linux-genérico-pae linux-cabeçalhos-genérico-pae


O que é o PAE?

A Extensão de Endereço Físico é uma tecnologia que permite que os sistemas operacionais de 32 bits usem até 64 Gb de memória (RAM), algo que normalmente é alcançado ao mudar para um sistema de 64 bits. Atualmente, o PAE é suportado na maioria dos computadores e é um procedimento fácil ativá-lo no Ubuntu, se ainda não o estiver. Para verificar se o seu processador suporta PAE, tente

grep --color=always -i PAE /proc/cpuinfo

Em geral, um sistema adequado de 64 bits é recomendado se você tiver 4 Gb ou mais de memória e / ou quiser obter todos os benefícios da arquitetura de 64 bits (consulte 32bit_and_64bit), mas, em alguns casos, fazer uma mudança completa para 64 bits não é necessário. desejável, e usar o PAE pode ser um compromisso viável.

Note-se que não há extensão de endereço virtual. ou seja, os aplicativos ainda recebem a mesma quantidade de memória virtual, pois os endereços virtuais ainda têm 32 bits, enquanto os endereços físicos têm 36 bits. Portanto, o PAE não é de todo equivalente a um sistema de 64 bits.

Pedram
fonte
Alguma sobrecarga de desempenho?
Ashfame 27/03
mas não são sistemas de 64 bits apenas para processadores AMD?
Starx
11
@Pedram muito obrigado! Essa deve ser a resposta correta, pois apresenta outra possibilidade de ultrapassar o limite sem reinstalar o sistema. Instalei esses pacotes do kernel do linux e, após a reinicialização, tenho meus 4 GB de RAM disponíveis. Muito obrigado.
Alejandro García Iglesias
Note que atualmente, o Ubuntu acabou com o kernel não PAE de 32 bits.
Psusi
2

Abra / var / log / dmesg / dmesg e procure a seção próxima ao início que se parece com isso:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009d800 (usable)
[    0.000000]  BIOS-e820: 000000000009d800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)

Poste essa seção para análise detalhada. Procure também uma outra linha um pouco mais abaixo:

[    0.000000] Memory: 4019820k/4972544k available (5694k kernel code, 798616k absent, 154108k reserved, 2514k data, 944k init)

Muitas vezes, existem coisas como memória de vídeo ocupando espaço na área de 3-4 gb. Em alguns sistemas, a memória é simplesmente perdida. Em outros, ele pode ser remapeado, geralmente acima da marca de 4 GB, que você precisa acessar o kernel pae ou 64 bits.

psusi
fonte
2
Só queria comentar que eu tenho uma placa Asus que perdeu 1 GB de memória, mesmo após a instalação de 64 bits. Eu tive que habilitar o remapeamento no BIOS, como mencionado nesta resposta.
usar o seguinte comando
1

Você tem três soluções, duas das quais já foram sugeridas:

  • instale um kernel de 64 bits na sua instalação do i386; no Debian, é apenas uma questão de instalar kernel-image-2.6-amd64-k8eamd64-libs
  • instalar um kernel de 32 bits com o PAE ativado
  • reinstalar um sistema completo de 64 bits
sam hocevar
fonte
mas não são sistemas de 64 bits apenas para processadores AMD?
Starx
Não, a Intel adotou o conjunto de instruções amd64 quando sua série Itanium falhou e tornou-se o padrão de fato.
24511 sam sam hocevar
Eu tenho o Intel Core i 7 720 qm. Será que vai correr lá?
Starx
Sim. Veja uma lista de CPUs Intel compatíveis aqui: en.wikipedia.org/wiki/X86-64#Intel_64_implementations
sam hocevar
0

Rum memtest ("Test memory") no menu de inicialização (ou na mídia de instalação) se a primeira tela relatar menos que seu 4Gb, atualize (Flash * ROM) seu BIOS.

Execute o sudo lshw para determinar o modelo da sua placa-mãe e acesse o site do fornecedor e o BIOS mais recente.

yPhil
fonte
0

Eu sei que isso é um pouco localizado demais, mas a pergunta dedicada foi marcada como duplicada e agora é redirecionada para esta.

Para usuários do Dell XPS 13 L321X, há uma atualização do BIOS que introduziu esse problema / recurso. Portanto, se você deseja recuperar seu 4G de RAM, é necessário fazer o downgrade para o BIOS A04 . Há dois tópicos mencionando esse problema na comunidade da Dell:

  1. Dell XPS 13 3.3GB de memória disponível fora de 4GB
  2. XPS 13 Ultrabook - 690 MB de RAM reservada para hardware
Andre Miras
fonte