Voltar para Artigos de Windows







Limites de Memória nos Windows 9x/ME – Verdades e Lendas

 

08 de março de 2003
Postado por: Thadeu Camargo

 

Muitos usuários questionam a capacidade do Windows 9x/ME reconhecer mais de 128MB de memória. Existem usuários até que evitam colocar mais memória justamente por causa disso. A verdade é que devido a ignorância ou falta de pesquisa sobre o assunto, muitas respostas equivocadas são emitidas. E isso pode se tornar um problema para alguns usuários pois sempre existem aqueles que se prendem a um determinado sistema. Existem usuários que não querem largar o Windows 98, mas ao mesmo tempo precisam instalar mais memória para rodar seus aplicativos. Outros tem o Windows 98 em dual boot com o Windows XP/2000 ou Linux. Estes usuários então ficam sem saber o que fazer, pois lêem numa revista “conceituada“ que o Windows 98 não enxerga mais do que 128MB de memória...

Mas então o Windows 9x/Me não reconhece mais de 128MB de memória??

 
Deve se deixar bem claro que os Windows 9x/ME reconhecem, enxergam e usam mais do que 128MB de memória . Então se você tem um micro com um sistema destes e quer instalar 256MB, por exemplo, pode fazer sem medo. Ele vai reconhecer e utilizar esta quantidade de memória sem  problemas.
A grande confusão acontece quando fala se em gerenciamento de memória. Aí está toda a chave do problema. Os Win 9x/ME são péssimos gerenciadores de memória. Na realidade isso é um mal existente em todas as versões Windows, mas é muito mais crítico no 9x/:ME. Os Windows 2000/XP, apesar de sempre utilizarem o arquivo de troca, mesmo com memória física sobrando, tem um gerenciamento de memória muito mais avançado que que os 9x/ME.
Isso pode ser comprovado testando se dois micros de configurações iguais, um com Windows 98, outro com o 2000, com mesma quantidade de memória acima de 128MB, digamos, uns... 320MB. Percebe-se que o micro com Windows 2000 terá um rendimento superior ao do PC com Win 98.
Note que o Windows 98 acessará a memória física acima de 128MB mas não gerenciará tão bem quanto o Windows 2000 tendo, devido a isso, um desempenho inferior.
Pois é, gerenciamento e reconhecimento são duas palavras distintas e com significados diferentes, mas fazem uma confusão...
Vale aqui uma pequena observação deste que vos fala. Na realidade, para quem tem mais de 256MB é muito mais vantagem usar sistemas mais completos como o Windows 2000/XP, ou Linux , pois estes sistemas trabalham muito melhor com grandes quantidades de memória, além do mais, são muito mais estáveis. Sinceramente, eu acho que para quem não trabalha com programas DOS ou não é aficcionado por games, a solução Windows 2000/XP ou Linux é muito mais sensata:-)

 
Problemas com Quantidade de Memória Acima de 512MB?

 
Bem, segundo a Microsoft, o Windows 98 não foi concebido para trabalhar com quantidades de memória acima de 2GB, mas ela reconhece que mesmo assim pode se instalar tal quantidade. Segundo seus documentos da Knowledge Base, os Windows 98/ME podem apresentar problemas como reinicialização contínua, avisos de falta de memória!! ( é isso mesmo!! Coisas da Microsoft..  ) ao inicializar o Windows ou em seções DOS e abrindo programas comuns, e instabilidades. Confira nos documentos Q253912 ; Q304943 e Q184447  da Knowledge Base.

A Microsoft relata que problemas desta ordem podem ocorrer acima de 512MB mas caso seu micro tenha algum destes sintomas, existem paliativos da própria Microsoft que servem para resolvê-los. Neste caso, é uma limitação do sistema, de projeto e não tem solução ou patch para correção. Como disse antes, existem sistemas que trabalham muito bem com tais quantidades de memória, e usar mais do que 512MB no Windows 98 é puro desperdício, a não ser que você tenha um sistema em multiboot com o 98 para rodar games ou seções DOS e o 2000/XP ou Linux para os trabalhos. Se você enquadra neste caso, leia as próximas linhas:

 
Resolvendo Problemas

 
Na realidade, esta “solução” é somente uma limitação forçada de memória para que o Windows trabalhe sem problemas. Por exemplo, tendo-se 1024MB de memória dando problemas, tentamos fazer com que ele reconheça somente 768MB. O que estiver acima disso será sonelemente ignorado. Se este trabalhar bem assim, ótimo. Caso continue com problemas, deve se diminuir a limitação para uma quantidade inferior, como 512MB. Vale dizer que isso afeta somente a instalação do Windows 98/ME. Outros sistemas em multiboot, como o Linux ou 2000/XP não terão suas configurações alteradas;-)
As mudanças envolvem a edição dos parâmetros MaxPhysPage e MaxFileCache nas respectivas seções [386Enh] e [Vcache] do arquivo System.ini.
O parâmetro MaxPhysPage é que vai determinar a quantidade de memória que será limitada. Como ele é definido em número hexadecimal, deve se fazer uma pequena conta para inserir o valor correto.

A conta seria a seguinte: ( memória em MB x 1048576 / 4096 = valor )
Onde:
memória em MB =
quantidade de memória a ser limitada
1048576 =
valor de 1MB em bytes ( necessário para se converter a quantidade de memória em bytes )
4096 =
Página de memória, no caso do Windows, páginas de 4096 bytes
valor
=  Valor em número decimal. Este deve ser convertido em número hexadecimal para que possa se incluir no parâmetro MaxPhysPage. Para isso pode se usar a calculadora do Windows mesmo, em modo “Científica”(exibir>científica> ).

Para exemplificar, faremos a inclusão no MaxPhysPage a limitação de 768MB de memória, a conta seria esta:

768MB  X   1048576 / 4096 = 196608

Agora com o valor de 196608 páginas, pegamos a calculadora Científica para convertê-lo para número hexadecimal. Sendo assim, após a conversão, teremos o valor 30000 .
De posse deste valor, abriremos o system.ini para editá-lo. Isto pode ser feito pelo edit  no DOS, sysedit
( iniciar
>executar>digite “sysedit” sem aspas ) ou pelo bloco de notas mesmo.
Procure a seção [386Enh] e inclua o parâmetro MaxPhysPage=30000
Um exemplo de seção do system.ini com o parâmetro já incluso:

[386Enh]
ebios=*ebios
mouse=*vmouse, msmouse.vxd
device=*dynapage
device=*vcd
device=*vpd
device=*int13
woafont=app850.fon
keyboard=*vkd
display=*vdd,*vflatd
EMMExclude=C000-CFFF,C000-CFFF
WPSLPT1=0
MaxPhysPage=30000

 
Salve, feche o arquivo, reinicie o sistema e verifique se os problemas acabaram.

Existe um meio mais “fácil” de fazer esta alteração sem ter que editar o system.ini: Abra o msconfig (iniciar>executar>digite “msconfig” sem aspas ), na aba geral, clique no botão avançado, você verá uma caixa com várias opções. A que nos interessa é o quadro “limitar memória a ......MB”, marque esta caixa e insira a quantidade de memória que queira limitar. No caso de nosso exemplo, 768MB.
Clique em OK, aplicar e OK, reinicie o micro e veja se os problemas acabam.
Este procedimento fará a edição no system.ini sem ter que abrir o documento para editá-lo. Mais fácil não?;-)

Bem, a escolha é sua, tanto mexendo no msconfig como no system.ini dará no mesmo. Mas se mesmo assim os problemas não acabarem, terá que se editar o system.ini de qualquer jeito, pois o parâmetro MaxFileCache não tem como ser editado via msconfig;-)
Esta alteração é feita na seção [Vcache] do system.ini. Aqui especificamos a quantidade máxima de memória virtual a ser gerenciada pelo sistema.
A alteração no MaxFileCache não tem muito mistério pois geralmente envolve somente um valor, que é
524288 . Este valor corresponde a 512MB descritos em Kbytes. O que facilita muito é que a inserção deste valor é feita em número decimal, dispensando conversão de valores. Ao mesmo tempo, a Microsoft recomenda que não se aloque mais do que 512MB no vcache.

A seção do system.ini ficará então assim:

[Vcache]
MaxFileCache=524288

 
Salve, renicie e veja se seus problemas finalmente acabaram;-)

Nos documentos Q184447 ; Q304943 e Q181862 do Knowledge Base da Microsoft pode se encontrar detalhes destas operações.

 

Instalando Windows com mais de 512MB

 
Pode ser que ocorram problemas na instalação do Windows 98/ME com mais de 512MB de memória. Neste caso não há outra solução a não ser colocar uma quantidade reduzida de memória, suficiente para não ter problemas, fazer a instalação e logo após, instalar a quantidade de memória desejada e editar o system.ini

 
Considerações Finais

 
É evidente que problemas assim são aleatórios e dependem muito da máquina. Já peguei máquinas com Windows 98 que tinham 512MB até 768MB de memória sem apresentar problemas. É evidente que quantidades de memória assim só são úteis caso o usuário tenha um sistema como o XP/2000 ou Linux instalado em dual boot, pois como disse antes, 512MB são mais do que suficientes para uso no Windows 98.
Outro detalhe a ser considerado antes de verificar se estas mensagens de falta de memória, instabilidade, ou reinicializações contínuas são devido a estes problemas citados anteriormente: Observe se não é drivers ou programas e sistema corrompidos ou mal configurados, vírus, trojans, etc.. que estejam causando o problema.

Muitos problemas assim decorrem devido a estes fatores, e neste caso, os limites de memória do Windows são completamente inocentes;-)




Caso tenha alguma dúvida, crítica ou sugestão a fazer: 

Voltar para Artigos de Windows

                          Site desenvolvido no Mozilla Composer sob sistema operacional Linux Mandrake.
                          Todos os artigos escritos podem ser livremente copiados e divulgados desde que
                               se mantenham os créditos dos autores originais. Seja livre, mas seja justo.