

Limites de Memória
nos
Windows 9x/ME – Verdades e Lendas
08 de
março de 2003
Postado por: Thadeu Camargo
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 )
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:
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:
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:
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.
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;-)
