Por que o Lubuntu mostra menos RAM do que o instalado?

2

Estou usando o Lubuntu 14.04

Eu tenho dois sticks de 4 GB de RAM, eles funcionam bem no Windows. Mas quando eu abro o LXTask ele diz que eu tenho 7868 MB quando ele deveria mostrar 8192 MB.

Não usar gráficos integrados (Radeon R9 270X). O Athlon X4 760K não os apresenta.

free -m output:

david@lubuntu:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          7868       7118        750         11         36       2008
-/+ buffers/cache:       5073       2795
Swap:         8135          0       8135

lsb_releade -a output:

david@lubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:    14.04
Codename:   trusty

UPDATE

A saída -h ainda reporta menos de 8 GB:

david@lubuntu:~$ free -h
             total       used       free     shared    buffers     cached
Mem:          7.7G       7.1G       632M        11M        38M       2.0G
-/+ buffers/cache:       5.1G       2.6G
Swap:         7.9G         0B       7.9G
    
por David Vela Gordillo 06.04.2015 / 16:22

2 respostas

4

Isso ocorre porque o windows e o linux têm uma compreensão diferente do quanto os bytes têm em um kilobyte. (Você pode ler o artigo completo explicando isso aqui: link )

Por exemplo…

No Windows…

O Windows assume que existem 1024 Bytes em uma unidade Kilobyte e 1024 Kilobytes em uma unidade Megabyte, etc.

No Ubuntu (GNU / Linux)…

O Ubuntu assume que 1000 bytes constituem uma unidade Kilobyte (KB), 1000 Kilobytes por Megabyte (MB) e assim por diante.

Esta 'confusão' surgiu nos velhos tempos, devido a vários dispositivos de hardware de armazenamento de computador, como 'RAM' e 'ROM' usando 1024 como o 'prefixo de unidade' (devido a razões técnicas) ao converter entre unidades (exceto para 'bytes').

Mas a maioria dos outros dispositivos de armazenamento, como HDDs e unidades Flash, usa o 1000 como o prefixo de unidade base ao calcular os tamanhos. Então, houve um pouco de confusão entre os especialistas, que devem ser usados durante a exibição de tamanhos de arquivo em unidades diferentes.

Para uma explicação melhor, leia esta entrada da Wikipedia…

  

Atualmente, a indústria de computadores usa termos como kilobyte, megabyte,   e gigabyte, e os símbolos correspondentes KB, MB e GB, em dois   jeitos diferentes. Em citações de memória principal ou capacidade RAM, gigabyte   Habitualmente significa 1073741824 bytes. Este é um poder de 1024   (especificamente 10243), e 1024 é uma potência de 2 (especificamente 210),   portanto, esse uso é chamado de prefixo binário. Na maioria dos outros   contextos, a indústria usa quilo, mega, giga, etc., de uma maneira   consistente com o seu significado no Sistema Internacional de Unidades   (SI): como potências de 1000. Por exemplo, um disco rígido de 500 gigabytes   500000000000 bytes e uma conexão Ethernet de 100 megabits por segundo   transfere dados a 100000000 bit / s. Em contraste com o "prefixo binário",   este uso é referido como um "prefixo decimal", como 1000 é um poder de   10. Mais tarde, para evitar confusões, o IEC e o NIST padronizaram-nas e mudaram os símbolos para…

No uso, produtos e conceitos tipicamente descritos usando potências de 1024 continuariam a ser, mas com os novos prefixos IEC. Por exemplo, um módulo de memória de 536870912 bytes (512 × 1048576) seria referido como 512 MiB ou 512 mebibytes em vez de 512 MB ou 512 megabytes. Por outro lado, como os discos rígidos têm sido historicamente comercializados usando a convenção da SI, “giga” significa 1000000000, um disco rígido de “500 GB” ainda seria rotulado como tal. De acordo com essas recomendações, os sistemas operacionais e outros softwares também usariam os prefixos binário e SI da mesma forma, de modo que o comprador de um disco rígido de “500 GB” consideraria o sistema operacional como “500 GB” ou “466 GiB”. enquanto 536870912 bytes de RAM seriam exibidos como “512 MiB”. Em termos simples, se um sistema operacional usa o termo 'megabyte' (MB), ele deve usar o valor perceptual de 1000 bytes por kilobyte (KB), 1000 kilobytes para um megabyte ('MB') etc ('prefixo decimal), durante a conversão entre as unidades.

Se ele usar o valor 1024 ("prefixo binário"), ele deverá abordá-los como "kibibytes" (KiB), "mebibytes (MiB)" etc.

Nesse sentido, não importa se o SO usa o "prefixo binário" ou o "prefixo decimal", o que é importante, se ele usa os símbolos corretos ao exibi-los. É evidente que o Windows está usando o "prefixo binário", como se você pegasse a primeira imagem e, em seguida, verificaria que ela lista o tamanho como "710.934.528 bytes". Agora pegue uma calculadora e divida-a por "1024", o que deve dar o seu tamanho em "kibibytes". Em seguida, divida-o novamente e ele fornecerá o valor 678, que está em mebibytes (MiB).

Agora faça o mesmo, usando a segunda imagem que foi tirada no Ubuntu. Mas desta vez, use o valor 1000 em vez de 1024 e você obterá a saída em megabytes (MB), 710.9.

Eu honestamente não sei sobre as leis 'IEC' e 'NIST' e como elas são aplicadas, mas o Windows, já que usa o 'prefixo binário', deve usar símbolos KiB, MiB, GiB, etc. MB, GB, etc, e, portanto, parece que também em uma violação direta (o papel só dizer 'would' embora).

    
por shaddy 06.04.2015 / 16:33
1

Para ver a RAM em termos que você usou para abrir um terminal e emitir o comando free -h - eu tenho 2GB de ram neste sistema e minha saída é a seguinte para free -m (que retorna resultados em "megabytes":  $ free -m

             total       used       free     shared    buffers     cached
Mem:          2005       1816        189        259        161        935
-/+ buffers/cache:        719       1285
Swap:          973         34        939

free -h retorna (em formato legível por humanos):

$ free -h

             total       used       free     shared    buffers     cached
Mem:          2.0G       1.8G       151M       253M       166M       931M
-/+ buffers/cache:       756M       1.2G
Swap:         973M        34M       939M

Você pode achar esta formatação mais do seu agrado!

Outra razão pela qual o seu sistema pode reportar menos memória RAM que a instalada é a RAM reservada pelo sistema para propósitos específicos. Às vezes há uma abertura de vídeo reservada em uma das páginas de configuração do BIOS. Você pode liberar alguns reduzindo esse tamanho. Existem muitas variáveis quando você chega ao hardware do sistema. O fabricante da sua placa-mãe pode lançar mais luz sobre isso para você.

Você pode obter a saída na RAM reservada pelo sistema emitindo o comando dmesg | grep BIOS | grep reserved e pode diminuir isso modificando as configurações no BIOS, mas é muito improvável que seja reduzido a zero em um sistema moderno. Você também pode encontrar este informativo.

    
por Elder Geek 06.04.2015 / 16:42