Ubuntu detecta apenas 3,1 GB de RAM no Ubuntu de 64 bits

Ubuntu detecta apenas 3,1 GB de RAM no Ubuntu de 64 bits

Estou usando o Ubuntu Linux de 64 bits. Recentemente, eu estava usando o Ubuntu 32 bits e descobri através do comando grep --color=always -iw lm /proc/cpuinfoque meu processador é capaz de 64 bits. A saída do comando é:

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc up pebs bts nopl pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr

Porém, após limpar o disco e instalar o Ubuntu 11.10 de 64 bits, o sistema ainda detecta apenas 3,1 GB de RAM. Verifiquei na BIOS que tenho 4 gigabytes de RAM instalados, não 3.1. Por que o Ubuntu de 64 bits detecta apenas 3,1 GB de RAM?

Saída deuname -a

aaron@Aarons-Ubuntu-Computer:~$ uname -a
Linux Aarons-Ubuntu-Computer 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Saída defree -m

aaron@Aarons-Ubuntu-Computer:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          3136       2960        175          0        233       1996
-/+ buffers/cache:        730       2405
Swap:         3189          0       3189

Responder1

Cerca de 80% das CPUs em uso hoje em dia (e quase todas as novas CPUs vendidas) suportam Ubuntu de 64 bits, então isso não é uma surpresa. Existem planos para sugerir o Ubuntu de 64 bits como padrão (da forma como o 32 bits é sugerido agora), já que o hardware da maioria das pessoas é capaz de executá-lo.

Ainda assim, para ver a memória total vista pelo kernel, bem como um relatório sobre como ela foi alocada inicialmente, você pode fazer o seguinte:

dmesg |grep "Memory: "

Isso mostrará uma linha como esta:

[    0.000000] Memory: 3823988k/4849664k available (6109k kernel code, 874468k absent, 151208k reserved, 4876k data, 984k init)

Meu sistema tem 4 GB de RAM instalados, porém o total relatado é algo em torno de 4,7 GB (suponho que o BIOS reporte mais memória devido ao espaço de endereço para placas de vídeo, dispositivos PCI e IO e outros). No final, apenas 3,6 GB estão disponíveis para aplicativos devido a essas preocupações.

Observe a quantidade de memória "ausente", isso "reflete o espaço de endereçamento de memória perdido devido a falhas de memória no mapa de memória. Normalmente, são deixadas lacunas para espaço PCI, IO, etc. Cada sistema de modelo de fornecedor é diferente e cada sistema terá um valor diferente relatado para a memória ausente."

Veja também a questão apontada por fossfreedom, ela fornece mais explicações sobre onde o espaço de endereçamento pode estar sendo usado.

informação relacionada