porque dmesg | grep Memory fornece dois valores de memória física diferentes?

1

Estou monitorando a memória física em um servidor que administro, e meu provedor de hardware me disse que eles aumentaram o tamanho da memória física para 4 Gb ...

No entanto, usando várias ferramentas (free -m; top; dmesg | grep Memória; gre MemTotal / proc / meminfo, descobri que realmente tenho 3Gb, não 4 ...

Mas, minha dúvida vem do fato de que dmesg | grem Memória me diz que tenho 3103396k / 4194304k disponível

O primeiro número é efetivamente 3Gb, mas o segundo, é 4! Então, por que eu estou olhando para esses dois números diferentes? Estou esquecendo de algo? ou será que o meu provedor está me dizendo a verdade, mas ele não configurou as coisas direito?

Eu não tenho certeza se este segmento vai aqui neste sub-fórum, por favor, corrija e me redirecione se for assim ...

Muito obrigado!

    
por Javier Novoa C. 21.10.2010 / 06:43

1 resposta

5

Parece que você usa um sistema de 32 bits no computador. A quantidade de memória depende da placa-mãe (propriedades do chipset), mas sempre será menor que 4 Gb. Para evitar isso, há duas soluções.

  • Para usar 4 Gb de RAM, o kernel inteiro deve ser compilado com:

    CONFIG_HIGHMEM4G = y

    ou

    CONFIG_HIGHMEM64G = y

    opções. O que permitirá que cada programa aborde algo sobre 4 Gb da memória do sistema. Se você tiver mais memória no futuro, nenhum dos programas poderá usar mais de uma parte, tão grande quanto o máximo de 4 Gb no sistema operacional de 32 bits.

  • A outra solução - você pode usar Sistema operacional de 64 bits e uso toda a memória disponível. Então, se você tiver 8, 16, 32 Gb de RAM, cada programa poderá usar toda a memória que você tem nesse caso.

Você pode procurar aqui: link para alguns fatos interessantes sobre o problema de usar 4 Gb de memória em sistemas de 32 bits.

    
por 21.10.2010 / 08:42

Tags