Windows 2003 x32 com 8Gb de Ram!!!

Isto pode parecer estranho mas numa das ultimas aulas ao falar com um formando ( e graças a este) lembrei-me de uma coisa que não é muito documentada e que seria interessante colocar aqui.

Como colocar o windows 2003 x32 a funcionar com mais de 4Gb de RAM.

É claro que isto não é suportado pela microsoft e pode haver possibilidades de existirem erros não documentados devido á forma como o SO vai usar a memoria.

Existe uma forma de colocar o windows a utilizar mais do que os 4gb possíveis nos sistemas de 32 bits.

A microsoft tem o PAE ( Physical Address Extension ) e o AWE ( Address Windowing Extensions )

o PAE é usado pelos IA32 para endereçar mais de 4Gb de memória

Para activar o PAE é necessário adicionar o /PAE no boot.ini file.

Se um servidor usar memorias tipo “hot-add” então o PAE é automaticamente activado.

Tipicamente o PAE usa-se quando temos uma taxa de ocupação de memoria grande.
Um processo típico pode ocupar no máximo cerca de 2Gb de RAM num sistema a 32bits, isto provoca que quando existem muitos processos a usarem muita ram se tenha que paginar muita informação na paging file.
Isto aliado ao facto do windows dividir a memoria em 2 partes uma para o kernel e outra para o user. Piora em muito a performance dos nossos servidores. Porque no máximo apenas podemos ter 4Gb de Ram ocupados.
E os processos que podem usar mais de 4Gb de RAM?

Ao colocarmos o /3Gb switch estamos a permitir que um processo possa usar mais de 2 Gb de Ram do Sistema operativo, mas contudo este programa concorre com outros e a probabilidade de ter parte dessa alocação de memória fetia na memória virtual é elevada, o que o pode tornar muito lento.
Aqui entra o PAE. Quando temos esta entrada activa e em conjunto com o AWE podemos usar mais do que os 4Gb de ram se a nossa máquina os tiver disponíveis.

O AWE é usado de outra forma, é utilizado ao nivel das API’s (Applicarion programming Interfaces). Ou seja é um conjunto de API’s ao gestor de memória que permite que os programas enderecem mais do que os 4gb disponíveis através dos normais 32bits de endereçamento.
AWE permite os programas reservarem memória como memória não paginada e depois dinamicamente mapear porções da memoria não paginada para o conjunto de memória utilizada pelo programa.
Este processo permite a programas que usen intensivamente a memoria para colocar dados ( como base de dados) que possam reservar memoria em vez de terem de usar a memória virtual.
Isto melhora a performance.
O excesso da memória acima dos 4gb é reportado ao gestor de memoria e ás funções de AWE pelo PAE.
Sem o PAE o AWE não conseguiria reservar o excesso de memoria a cima dos 4GB.

[operating systems]
multi(0)disk(0)rdisk(0)partition(2)WINDOWS=”Windows Server 2003, Enterprise” /fastdetect /PAE

Sumarizando o PAE é uma função que permite ao windows 2000 e windows 2003 dar mais memoria para o gestor de memoria utilizar.
Transpondo assim o limite dos 4gb.
Os programas não percebem que a memoria que estão a usar está acima dos 4gb da mesma forma que eles não entendem quando estão a usar a Swapfile.

O AWE é uma API que permite os programas reservar memoria. A memoria é não paginada e é apenas acessível a esse programa.

No fim se tiverem possibilidade de utilizar um SO a 64 bits tem mais sorte e menos trabalho 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.