Sítio do Piropo

B. Piropo

< O Globo >
Volte
04/03/2002

< Quanta memória seu >
<
Windows “enxerga”?
>


Rola um boato segundo o qual, independentemente da quantidade de memória física existente na placa-mãe, Windows 9x e Me somente usariam os primeiros 128 Mb de RAM. Isso criou tanta controvérsia que me levou a pesquisar a base de conhecimentos da Microsoft (Knowledge Base, ou KB) para esclarecer o assunto. Este artigo é um resumo das interessantes (e por vezes conflitantes) informações lá encontradas.

Para começar: segundo a MS, “Windows 95 pode ter acesso a dois GigaBytes de RAM”. Não sou eu quem o diz, muito pelo contrário: é a MS que afirma textualmente no título do artigo Q181594 da KB. Verifique (para encontrar um artigo na KB, vá até <http://support.microsoft.com/>, clique em “Show Options”, marque “texto completo”, escolha “KB Inglês” na caixa “Search KB”, entre com o identificador do artigo – respeitando maiúsculas – na caixa “contendo...” e clique em “Search Now”; isso vale para todos os demais artigos da KB aqui citados, portanto não repetirei o “caminho das pedras” a cada citação). O artigo, curto e grosso, afirma que embora Windows 95 possa, teoricamente, ter acesso a até 4GB de RAM (maior valor que “cabe” nos registradores de 32 bits usados por Windows para armazenar endereços), na prática pode usar somente até 2GB (uma curiosidade: o limite de memória imposto a Windows 3.0 era de 16MB e Windows 3.1, rodando em modo “386 enhanced”, reconhecia até 256MB de RAM; veja o artigo Q84388 da KB).

Mas nem por isso você deve espetar módulos nos slots de sua placa-mãe até completar os 2GB de RAM. Há outras limitações além das relativas ao hardware (como o máximo de memória física que uma placa-mãe pode receber é facilmente constatado no manual da placa, nos restringiremos a discutir aqui as limitações relativas ao software – ou seja, ao sistema operacional Windows).

A primeira delas consta do artigo Q304943 da KB e afeta as versões 98, 98SE e Millenium: se, depois que instalou Windows, você adicionou memória na placa até completar 1,5GB ou mais, ao ligar a máquina o sistema pode entrar em loop e jamais terminar o ciclo de inicialização. E se você tentar instalar uma dessas versões de Windows em um micro com mais de 1,5GB de RAM, o programa de instalação pode travar ou reinicializar sem jamais concluir. Segundo a MS (no mesmo artigo), a razão disso é que “Windows 98 e Me não foram concebidos para manejar mais de 1GB de RAM”. Solução? Para instalar Windows, reduza a memória até 1GB removendo módulos. Se já está instalado, use o parâmetro MaxPhysPage do arquivo System.Ini para obrigar o sistema a usar apenas o primeiro GB de memória (já voltaremos a ele). Note que, como Windows refuga a inicialização, você terá que inicializar a máquina pelo DOS e editar o arquivo System.Ini com o editor de textos Edit do DOS. O artigo Q184447 da KB traz orientações sobre como fazer isso.

Este mesmo artigo Q184447 dá conta de mais uma limitação que afeta as versões 95 e 98: se o micro tem mais de 1GB de memória física, durante a inicialização (ou instalação, se for o caso) de Windows pode aparecer uma exótica mensagem informando que a memória é insuficiente e sugerindo editar os arquivos de configuração Autoexec.Bat e Config.Sys para remover programas residentes. Nem perca tempo tentando, não vai adiantar: também nesse caso a solução é usar MaxPhysPage para limitar a memória reconhecida por Windows (para esse caso a MS sugere o limite de 768MB).

Finalmente, há ainda um terceiro problema, relatado no artigo Q253912 da KB, que ocorre em máquinas rodando Windows 95, 98, 98SE ou Me com mais de 512MB de memória física e se manifesta de duas formas. Na primeira o sistema se recusa a abrir uma sessão DOS dentro de Windows, emitindo uma mensagem de erro que alega falta de memória. Na segunda, Windows não inicializa e emite uma mensagem de erro relatando memória insuficiente e sugerindo editar arquivos de configuração, como no caso anterior. A MS informa que isso deve-se ao comportamento do VCache, o driver virtual (VxD) que gerencia o cache de disco em modo protegido. Quando a máquina é inicializada, ele investiga o tamanho da memória física disponível e reserva um trecho proporcional a esse tamanho na System Arena, um espaço de memória reservado para o sistema. Ocorre que a System Arena, além de limitada, é usada também por outros processos (como os gerenciadores de memória de vídeo do padrão AGP e de memória estendida das seções DOS). Se o driver VCache reserva memória demais na system arena, não sobra espaço para os outros “fregueses”, que emitem as mensagens de erro. Para esse problema a MS sugere três soluções: reduzir a memória física a 512MB (removendo módulos), ajustar o parâmetro MaxPhysPage em um valor igual ou menor que 512MB ou fazer o mesmo com o parâmetro MaxFileCache (se você quiser ajustar esse último parâmetro, procure instruções no artigo Q108079 da KB; aqui, nos limitaremos a discutir o MaxPhysPage, que resolve o problema de forma mais simples).

Então, como ficamos? Bem, em primeiro lugar, o “limite de 128MB de RAM” é balela (se sua máquina tem mais que isso e você ainda duvida, instale o excelente programa RAMPage, de John Fitzgibbon, disponível nos sítios especializados em shareware e freeware; ele informa o total de memória disponível, quanto está livre, libera trechos não usados e, o que é melhor, faz tudo isso de graça). Dr. Hardman, em artigo publicado no nr. 29 da revista PCs, dá conta que “Testes realizados com o Windows 98 SE mostraram que até 768 MB não causam problema algum”. Mas se você deseja segurança absoluta, evite ultrapassar os 512MB. Se sua máquina tem mais que isso e roda apenas Windows 9x ou Me, simplesmente remova o excesso. Afinal, para essas versões, 512MB de RAM é mais que suficiente.

Mas e nas máquinas “multiboot”, que além de Windows 9x ou Me rodam ainda Windows 2000 ou XP (que tiram bom proveito de até 2GB de RAM), como fazer para que o excesso não atrapalhe Win 9x ou Me? Bem, nesse caso vale a pena recorrer ao parâmetro MaxPhysPage para limitar o acesso à memória apenas nas sessões de trabalho Win 9x ou Me.

Se sua versão de Windows é a 98, 98SE ou Me, a forma mais simples de ajustá-lo é através do “Utilitário de configuração do sistema”. Acione a entrada “Executar” do menu Iniciar, digite “msconfig” na caixa de entrada de dados e tecle ENTER para carregá-lo. Passe então para a aba “Geral”, clique no botão “Avançado”, marque a caixa “Limitar memória a” e ajuste o valor à direita em 512MB. Se você ainda usa o Windows 95, o ajuste do parâmetro terá que ser feito editando o arquivo System.Ini do diretório WINDOWS. Use um editor tipo “texto puro”, como o Bloco de Notas de Windows, abra o arquivo System.Ini e, na seção [386enh], acrescente a linha “MaxPhysPage=20000” (assim mesmo, porém sem aspas). Achou estranho entrar com esse valor para ajustar a memória em 512MB? É que ele corresponde ao número de “paginas” de memória, de 4096 bytes cada, expresso em hexadecimal (para maiores detalhes, consulte o artigo Q181862 da KB onde, entre outras coisas, há uma tabela listando os valores usados para diferentes limites de memória).

Pois é isso. Doravante, não dê ouvidos a boatos e desfrute de toda sua RAM. Com os preços de hoje, certamente vale a pena.

B. Piropo