Olá,
A memória total máxima para um processo, incluindo DLLs, a região visível do SO, etc., é de 2 GB.
No entanto, o espaço máximo de heap que pode ser alocado para objetos Java dentro de um JVM é de aproximadamente 1,3-1,6 GB, dependendo do SO. O Solaris para Sparc é o único SO em que vi ultrapassar isso, chegando a 3 GB.
Consulte o site do Moazam para uma boa explicação sobre um dos deuses da VM.
http://www.unixville.com/~moazam
Confira isso:
http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx
Primeiro, calcule o número de threads que você pode criar
(MemóriaMáximaProcesso - MemóriaJVM - MemóriaReservadaSO) / (TamanhoThread) = Número de threads
Exemplo:
Para Java 1.5, você obterá os seguintes resultados assumindo que o SO reserva aproximadamente 120 MB:
1,5 GB alocados para o JVM: (2 GB - 1,5 GB - 120 MB) / (1 MB) = ~380 threads
1,0 GB alocados para o JVM: (2 GB - 1,0 GB - 120 MB) / (1 MB) = ~880 threads
Exemplo de opções de Java:
-Xms 512m
-Xmx 1024m
-Xss256k
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m
Para mais detalhes, encontre este link
http://www.reviewservers.com/index.php?page/tomcat
Quando você instala dessa maneira, essas configurações são salvas no Registro do Windows.
Se você tiver os itens do menu Iniciar, a maneira mais fácil de alterá-los é ir para
Iniciar -> Programas -> Apache Tomcat -> Configuração do Tomcat -> Java (guia).
Existem campos para seus tamanhos de heap inicial e máximo.
Isso pode te ajudar
Saudações,
Surya