ct

    Kernel: Ativando o suporte a mais de 1 GB de memória RAM

    Dicas do Guia do Hardware

    Ao utilizar um processador de 32 bits, o Linux oferece suporte nativo a até 4 GB de memória usando o modo normal de operação do processador e a até 64 GB usando o PAE. Ou seja, ele simplesmente acompanha o suporte disponível no hardware, sem nenhuma limitação adicional. Para melhorar o desempenho do sistema em máquinas antigas, que utilizam 1 GB de memória ou menos, existe uma terceira opção, onde o Kernel endereça apenas 1 GB de memória, sendo que 960 MB ficam disponíveis para os aplicativos e o restante é reservado para uso do Kernel. Neste modo de operação, o comando "free" vai reportar que existem apenas 960 MB de memória disponíveis, mesmo que você possua 1 GB ou mais. É possível escolher entre as três opções ao compilar o Kernel, fazendo com que o sistema reconheça toda a memória instalada.Carlos E. Morimoto
    14/07/2005


    Tradicionalmente, os processadores x86 utilizam uma tabela de 32 bits para o endereçamento da memória RAM, e por isso são capazes de endereçar até 4 GB de memória (dois elevado à 32º potência são 4.294.967.296 endereços, um por byte de memória).

    Esta limitação existe desde o 386. Na época, ninguém se importava muito com isso, pois a memória RAM era muito cara e era incomum alguém usar mais do que 8 ou 16 MB.

    A partir da década de 90, os 4 GB começaram a ser um limitante para servidores de bancos de dados e outras aplicações de grande porte, que consomem grandes quantidades de memória. Surgiu então o PAE (Physical Address Extension), um hack implementado pela Intel em alguns processadores a partir do Pentium Pro. O PAE consiste numa segunda tabela de endereços, com 4 bits adicionais, que permitem endereçar 16 páginas de memória, cada uma com 4 GB.

    Com o PAE, passa a ser possível endereçar até 64 GB de memória. A desvantagem é que o processador continua sendo capaz de acessar apenas 4 GB por vez e o chaveamento entre diferentes páginas de memória toma um certo tempo, que acaba prejudicando bastante o desempenho.

    Mesmo usando o PAE, a maioria dos aplicativos continua tendo acesso a 4 GB, a vantagem é que passa a ser possível executar vários aplicativos diferentes, cada um consumindo até 4 GB de memória sem o uso de memória virtual. Apenas alguns aplicativos cuidadosamente desenvolvidos são capazes de distribuir dados entre diferentes páginas de memória, realmente aproveitando a memória adicional.

    O PAE pode ser encontrado apenas em alguns processadores Intel destinados a servidores, basicamente apenas o Pentium Pro e o Xeon. Para que funcione, é necessário que exista suporte também no chipset da placa mãe e no sistema operacional usado.

    A solução definitiva para quem precisa de mais de 4 GB de memória é usar um processador de 64 bits, que trabalham com tabelas de endereçamento de 64 bits e por isso são capazes de acessar quantidades praticamente ilimitadas de memória.

    Ao utilizar um processador de 32 bits, o Linux oferece suporte nativo a até 4 GB de memória usando o modo normal de operação do processador e a até 64 GB usando o PAE. Ou seja, ele simplesmente acompanha o suporte disponível no hardware, sem nenhuma limitação adicional.

    Para melhorar o desempenho do sistema em máquinas antigas, que utilizam 1 GB de memória ou menos, existe uma terceira opção, onde o Kernel endereça apenas 1 GB de memória, sendo que 960 MB ficam disponíveis para os aplicativos e o restante é reservado para uso do Kernel. Neste modo de operação, o comando "free" vai reportar que existem apenas 960 MB de memória disponíveis, mesmo que você possua 1 GB ou mais.

    É possível escolher entre as três opções ao compilar o Kernel, na opção "Processor Type and Features > High Memory Support". Até pouco tempo, a maioria das distribuições vinha com o suporte a apenas 1 GB ativado por padrão. Nestes casos você precisa recompilar o Kernel, usando a opção "4 GB".

    Note que ao recompilar o Kernel padrão da distribuição (sem alterar a versão), você pode apenas gerar o executável principal e fazer as modificações necessárias na configuração do lilo ou grub para que ele seja inicializável, sem precisar gerar os módulos.

    qconf

    A desvantagem de ativar o suporte a 4 GB é que o sistema ficará um pouco mais lento em micros com menos de 1 GB de memória (justamente por isso existe a primeira opção). O suporte a 64 GB só pode ser ativado caso você esteja usando um Intel Xeon ou outro processador com suporte ao PAE. Um Kernel gerado com esta opção não vai dar boot em processadores que não são compatíveis com o recurso.

    A partir daí, o sistema deve ser capaz de ativar toda a memória instalada. Em caso de problemas, você pode forçar o uso de toda a memória disponível adicionando a opção "mem=2048M" (onde o 2048 indica a quantidade de memória instalada) na linha append do "/etc/lilo.conf":

    append="mem=2048"

    Ao usar o Grub, use a opção na linha referente ao novo Kernel no arquivo "/boot/grub/menu.lst", como em:

    kernel /boot/vmlinuz-2.6.8hm root=/dev/hda1 ro mem=2048




    Blog:

    Add to Google

    » Gostou do texto?
    Veja nossos livros impressos:

    Smartphones | Linux | Hardware
    Redes | Servidores


    ... ou encontre o que procura usando a busca:

cb
ct
Atualizações



[19/03] Montando um DVD de vídeo na unha, via terminal (atualizado)
[18/03] Core i7: Gulftown e a era dos 6 núcleos
[17/03] Artigo: Primeiras impressões do Haiku (alfa)
[16/03] Criando um sistema de recuperação usando o SystemRescueCD
[15/03] Processadores AMD, parte 2: Phenom II e o Athlon II
[14/03] AMD 890GX
[13/03] Dica: kMyFirewall, um firewall gráfico para o KDE
[12/03] Processadores AMD, parte 1: o Phenom
[11/03] Artigo: Uma olhada no PC-BSD 8.0
[10/03] Artigo: Investigando os modelos do Eee PC
[09/03] Artigo: nVidia Optimus
[05/03] Artigo: Comparativo de desktops: Zenwalk, Salix OS e GoblinX
[03/03] Artigo: Meego: a fusão entre Maemo e Moblin
[02/03] Artigo: Uma breve análise do Linux Mint 8 'Helena'
[01/03] Processadores: Chipsets e placas para o Core 2 Duo, Quad e Celeron
[26/02] Tutorial: Criando um loop de vídeo com o Kino e o Audacity
Destaques



» Hardware o Guia Definitivo, disponível para leitura online
» Como um HD funciona: Head Switch Time
» Redes: TCP/IP, endereçamento e portas
» O básico para o Debian Lenny no desktop
» Configurando um servidor de rede local com o Ubuntu, fácil
» Uma breve análise do Linux Mint 8 'Helena'
» Programação Orientada a Objetos: uma introdução
» Smartphones: TCPMP e CorePlayer
» PCI Express: compatibilidade, linhas de dados e o PCIe 2.0
» Dual-SIM: Usando dois chips no mesmo aparelho
» Smartphones e telas: Tamanho e touchscreen
Receba as atualizações diariamente por e-mail:
Assine o RSS Veja todas as atualizações... Add to Google
cb
Livros de Carlos E. Morimoto Contato HOME